基于c#中的系统日期格式将String转换为DateTime

时间:2013-11-13 06:38:47

标签: c# wpf

我从csv文件'17 -07-12 16:39:44 PM'(dd-MMM-yy hh:mm:ss tt)以下列格式读取日期时间并尝试使用DateTime将该字符串转换为DateTime .TryParseExact()API。但是,我在无效的日期时间错误消息中收到输入字符串。我的系统日期格式与我尝试转换的格式不同。如何将字符串转换为DateTime,而不管系统日期时间格式是什么。

if (DateTimeOffset.TryParseExact("17-07-12 16:39:44 PM", "dd-MMM-yy hh:mm:ss tt"
                                                 , CultureInfo.InvariantCulture
                                                 , DateTimeStyles.None, out parsedDate) == false)
 {
    throw new ArgumentException("dateToPare", parsedDate);
 }

我在这个论坛上看到了一些类似的帖子,但没有一个能解决我的问题。如果您需要更多说明,请告诉我

谢谢,

1 个答案:

答案 0 :(得分:0)

首先将字符串转换为日期时间,然后将日期时间转换为通用时间,然后再将其添加到db。

public static DateTime AsUtc(this DateTime value)
{
    if (value.Kind == DateTimeKind.Unspecified)
    {
        return new DateTime(value.Ticks, DateTimeKind.Utc);
    }

    return value.ToUniversalTime();
}