数据映射器日期时间属性
我遇到了 DataMapper 的 DateTime 属性的一些奇怪行为。
这是一个简单的代码:
DataMapper.setup(:default, 'sqlite::/path/to/some/file.db')
class Event
include DataMapper::Resource
property :id, Serial
property :time, DateTime
end
我创建了一个项目:
e = Event.new
e.time = Time.now
e.save
现在奇怪的事情发生了: 保存前的时间就可以了。 数据库文件时间也可以。
puts e.time.to_s
# 2011-05-01T22:38:49+02:00
但后来我得到的 DateTime 没有“时间”部分。
puts Event.first.time.to_s
# 2011-05-01T00:00:00+02:00
有什么想法吗?
I got stuck with some strange behavior of DataMapper's DateTime property.
Here's a simple code:
DataMapper.setup(:default, 'sqlite::/path/to/some/file.db')
class Event
include DataMapper::Resource
property :id, Serial
property :time, DateTime
end
I create one item:
e = Event.new
e.time = Time.now
e.save
And now strange things happen:
Time before save is ok.
In the database file time is also ok.
puts e.time.to_s
# 2011-05-01T22:38:49+02:00
But then I'm getting DateTime without "time" part.
puts Event.first.time.to_s
# 2011-05-01T00:00:00+02:00
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不幸的是,您在最新的 DataObjects 中遇到了错误。它将在下一个版本中修复,已经有一个修复该错误的拉取请求: https://github .com/datamapper/do/pull/9
Unfortunately you've hit a bug in latest DataObjects. It will be fixed in next version, there's already a pull request that fixes the bug: https://github.com/datamapper/do/pull/9