[英]String was not recognized as a valid DateTime. Throws an Exception
我正在尝试将当前日期转换为指定的格式。
DateTime date = DateTime.ParseExact(DateTime.Now.ToString(), "yyyy-MM-dd HH:mm:ss.fff",
CultureInfo.InvariantCulture,
DateTimeStyles.None);
我收到以下异常。
无法将字符串识别为有效的DateTime。
我当地的时区是(UTC + 10:00)墨尔本。
我在这里做错了什么?
您的代码(即使有效)也无济于事。 它将简单地序列化和反序列化日期。 我相信您正在寻找这个:
string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
这是行不通的,因为DateTime.Now.ToString()
给出了这样的字符串(我恰好在同一时区,并且大概与您具有相同的文化):
14/01/2016 3:54:01 PM
格式如下:
dd/MM/yyyy h:mm:ss tt
哪种格式与您使用的格式不匹配: yyyy-MM-dd HH:mm:ss.fff
尝试这个:
string fm = "yyyy-MM-dd HH:mm:ss.fff";
string str = DateTime.Now.ToString(fm, CultureInfo.InvariantCulture);
DateTime dt = DateTime.ParseExact(str, fm, CultureInfo.InvariantCulture);
编辑:
达到日期格式的更好方法是
DateTime now = DateTime.Now;
CultureInfo culture = new CultureInfo("en-AU"); //Melbourne
Thread.CurrentThread.CurrentCulture = culture;
Console.WriteLine(now.ToString("yyyy-MM-ddTHH:mm:ss.fff"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.