将日期从字符串转换为日期时间,然后将其插入到c#中

时间:2016-04-02 18:01:26

标签: c# mongodb datetime

问题:为什么我在前一天使用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); 

2 个答案:

答案 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();