C# 日期时间格式问题
我有一根像下面这样的线 1970年1月1日12:00:00上午 我希望它是yyyy-MM-dd格式(在本例中为1970-01-01) 我的解析代码是C# 日期时间格式问题,c#,datetime,datetime-conversion,C#,Datetime,Datetime Conversion,我有一根像下面这样的线 1970年1月1日12:00:00上午 我希望它是yyyy-MM-dd格式(在本例中为1970-01-01) 我的解析代码是 var actualDate = DateTime.ParseExact(actualValue,"MM/dd/yyyy HH:mm:ss tt",CultureInfo.InvariantCulture).ToString("yyyy-MM-dd"); 但是我不断得到错误,字符串没有被识别为有效的日期时间。 我查看了我的变量actualValu
var actualDate = DateTime.ParseExact(actualValue,"MM/dd/yyyy HH:mm:ss tt",CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");
但是我不断得到错误,字符串没有被识别为有效的日期时间。
我查看了我的变量actualValue,它的类型是DateTime,所以我认为问题在于格式MM/dd/yyyy HH:MM:ss tt,这有什么问题?首先,不应该在数据库中以文本形式存储或获取日期 但是,对于您的特定问题,
MM
和dd
是月和日的两位数。显然,您的日期文本不使用仅两位数的变体,因此请使用M
和d
。而且,HH
是24小时制。使用tt
,即AM/PM,意味着没有24小时的时钟,因此您可能希望使用hh
有关更多信息,请查看自定义日期/时间格式。如果
actualValue
是DateTime
,则您得到的代码甚至不应该编译,也不需要解析它。目前你的问题很不清楚。但基本上,您不应该从数据库开始以字符串形式读取该值。很抱歉,它不是从DB读取的,它是字符串。我已经编辑了这个问题。即使这样也不能解决如果实际值的类型是DateTime,代码不编译的问题。好的,我之前试过M和d,但都不起作用。但是除了M和d之外,使用hh代替hh是可行的。12小时对24小时的格式很好!