C# 日期时间格式更改

本文关键字:格式 时间 日期 | 更新日期: 2023-09-27 17:56:38

我想将datetime.now格式"dd/mm/yyyy hh:mm:ss AM/PM"转换为美国时间格式,即"mm-dd-yyyy hh:mm:ss AM/PM"。此外,我希望转换后的格式为日期时间而不是字符串,因为相同的格式存储在数据库中,并且数据库中的字段是日期时间格式,因此它不会采用字符串。请建议....

C# 日期时间格式更改

DateTime值没有格式。 DateTime.Now没有格式,如果你进行任何类型的转换,如果你有DateTime,就没有格式。格式的概念仅适用于与字符串转换或从字符串转换时 - DateTime.Now 是一个DateTime,而不是一个string

只需使用 DateTime.Now(或DateTime.UtcNow)将值插入数据库,即可保留重要部分的数据。

您应该只在实际需要时才执行字符串转换 - 此时您可以使用DateTime.TryParseExact并使用自定义日期/时间格式字符串DateTime.ToString。(使用 TryParseExact 进行用户输入;对于真正应该有效的机器输入,请使用 DateTime.ParseExact

请注意,通常最好将自定义日期/时间模式与固定区域性一起使用,或将标准日期/时间模式与"真实"区域性(例如用户的区域性)一起使用。

试试这个。标准日期和时间格式字符串

DateTime.Now.ToString("g",CultureInfo.CreateSpecificCulture("en-us"))
DateTime usDateTimeFormat = DateTime.Parse(DateTime.Now , 
System.Globalization.CultureInfo.GetCultureInfo("en-us"));