Monotouch.Dialog DateElement有一个非常奇怪的问题。解释我在做什么: 我有一些存储在数据库中的日期的权重条目。所有条目都显示在TableView中。 如果我点击“添加”,我会转到带有DateElement和反元素的DialogViewController - 一切正常。
如果我在tableView中选择一行,我会转到相同的DialogViewController,我可以编辑该条目。 如果我编辑权重(counterelement)一切都很好,但如果我编辑日期(DateElement)我得到一个错误的日期回来。
编辑权重条目时,我会像这样实现DateElement: dateElement = new DateElement(“Dato”,weightObject.Date);
单击保存按钮时,我从“dateElement.DateValue.Date”获取新值,这就是出错的地方。我总是得到一个比我选择的日期少1天的日期。
我知道这听起来很奇怪....但我已经尝试过追踪我的方式并且在我的代码中找不到任何错误。其他人见过这样的东西吗?
(如果我点击日期并再次返回而不更改它,则没有问题 - 问题只出在我编辑日期时)
/ Nicolaj
答案 0 :(得分:0)
我想我找到了“虫子”。
我只对日期感兴趣 - 而不是小时,所以当我保存日期时,我从dateelement获取这样的值: “dateElement.DateValue.Date”
稍后,当我想编辑我为ex“2012-03-18 00:00:00”分配给date元素的日期时。 当我得到该值后,它已经从CET转换为UTC,这意味着我得到了上一个日期: - (
所以我想我必须转换回当地时间
答案 1 :(得分:0)
转换回本地时间将通过以下方式完成: dateElement.DateValue.ToLocalTime()