gpt4 book ai didi

c# - 将日期字符串转换为 DateTime 格式

转载 作者:太空宇宙 更新时间:2023-11-03 18:51:12 25 4
gpt4 key购买 nike

我有像 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);

输出:解析日期:10/3/1999 12:00:00 AM

没有连字符或毫秒...


使用精确解析

var BrazilianDate = "03/10/1999";
var ParseExact = DateTime.ParseExact(BrazilianDate, "yyyy-MM-dd HH:mm:ss.fff", new CultureInfo("pt-BR"));
Console.WriteLine(ParseExact);

输出:

Run-time exception (line -1): String was not recognized as a valid DateTime.

Stack Trace:

[System.FormatException: String was not recognized as a valid DateTime.] at System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style) at System.DateTime.ParseExact(String s, String format, IFormatProvider provider) at 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 形式中的表示形式。无论您如何格式化,值本身都将保持不变。

关于c# - 将日期字符串转换为 DateTime 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58730433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com