问题:为什么我在前一天使用C#将字符串转换为日期时间?
当我尝试将日期从字符串转换为日期时间然后将其插入Mongodb数据库时,我得到了前一天!
例如
Datetime" 12/01 / 2014"
我进入数据库" 2014-11-30T23:00:00.000Z"
这是我的代码
devises2.date_observation_d = DateTime.ParseExact(item[0], "MM/dd/yyyy", CultureInfo.InvariantCulture);
答案 0 :(得分:0)
您已指定" MM / dd / yyyy"格式,然后" 12/01 / 2014"是2014年12月1日。
你可能有11月30日,因为你有1小时的时区转换。
尝试使用此代码进行解析:
devises2.date_observation_d = DateTime.ParseExact(
item[0],
"dd/MM/yyyy",
CultureInfo.CurrentCulture
);
答案 1 :(得分:0)
您必须明确指定UTC时间以避免时区转换问题:
devices.some_date = (new DateTime(2014, 12 , 1)).ToUniversalTime();