我有日期字符串,如03/10/1999
格式为dd/MM/yyyy
(pt-BR格式)的地方。
而且我需要将此日期转换为类似SQL的格式yyyy-MM-dd HH:mm:ss.fff
。
我尝试使用Parse和ParseExact函数,但到目前为止没有成功。我将下面的结果...
使用解析
var BrazilianDate = "03/10/1999";
var Parse = DateTime.Parse(BrazilianDate, new CultureInfo("pt-BR"));
Console.WriteLine("Parsed date: " + Parse);
输出: Parsed date: 10/3/1999 12:00:00 AM
没有连字符或毫秒...
使用ParseExact
var BrazilianDate = "03/10/1999";
var ParseExact = DateTime.ParseExact(BrazilianDate, "yyyy-MM-dd HH:mm:ss.fff", new CultureInfo("pt-BR"));
Console.WriteLine(ParseExact);
输出:
运行时异常(第-1行):字符串未被识别为有效的DateTime。
堆栈跟踪:
[System.DateTimeParse.ParseExact(String s,字符串格式,DateTimeFormatInfo dtfi,DateTimeStyles样式),位于System.DateTime.ParseExact(String s,字符串格式,IFormatProvider提供者)处的[System.FormatException:字符串未被识别为有效的DateTime。]在Program.Main()
您需要使用正确的格式字符串来格式化输出,如下所示:
Console.WriteLine("Parsed date: " + Parse.ToString("yyyy-MM-dd HH:mm:ss.fff"));
//Parsed date: 1999-10-03 00:00:00.000
如果您未指定格式,.NET会选择它认为合适的任何格式(当您不在美国时,通常不会这样做)。
您还需要严格区DateTime
分值及其string
形式。无论您如何设置格式,值本身都将保持不变。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句