将字符串转换为标准C#日期时间

时间:2018-12-17 14:07:39

标签: c# string datetime

我有这个字符串 01 Nov 2018 10:50,我想像这样将其转换为Datetime格式 2018-11-01 10:50:00.000

我已经尝试过

DateTime.ParseExact("01 Nov 2018 10:50", "yyyy-MM-dd HH:mm:ss,fff",  null)

但是我要例外了

  

System.FormatException:'字符串未被识别为有效字符串   日期时间。”

3 个答案:

答案 0 :(得分:3)

@Value("${PRODUCTS_URL}") private String PRODUCTS_URL; 期望使用与您的输入匹配的格式定义作为第二个参数。

与您的输入匹配的格式定义为ParseExact

有关有效的格式定义,请参考Custom Date and Time Format Strings

答案 1 :(得分:2)

尝试其他格式:

var date = DateTime.ParseExact("01 Nov 2018 10:50", "dd MMM yyyy HH:mm")

拥有date对象后,您可以将其转换为所需的格式:

date.ToString("yyyy-MM-dd HH:mm:ss,fff");

答案 2 :(得分:0)

使用ParseExact时,应该在方法的第二个参数上传递要解析的确切格式。您正在为ParseExact方法设置完全不同的格式。试试这个:

DateTime.ParseExact("01 Nov 2018 10:50", "dd MMM yyyy HH:mm",  null)

您在此处获得了完整的参考:https://docs.microsoft.com/en-us/dotnet/api/system.datetime.parseexact?view=netframework-4.7.2