我需要知道字符串 16-Aug-78 12:00:00 AM
的确切日期格式。我尝试过各种字符串,例如“ss-MMM-yy hh:mm:ss”。有什么方法可以将其转换为任何通用格式。我正在使用 CultureInfo.InvariantCulture
类。
最佳答案
您的字符串格式错误。它必须与您的字符串格式完全匹配。您可以改用 dd-MMM-yy hh:mm:ss tt
格式。
这里有一个例子 LINQPad .
string s = "16-Aug-78 12:00:00 AM";
var date = DateTime.ParseExact(s, "dd-MMM-yy hh:mm:ss tt",
CultureInfo.InvariantCulture);
date.Dump();
或者,因为 dd-MMM-yy hh:mm:ss tt
是 InvariantCulture
的标准日期和时间格式,您可以直接DateTime.Parse
方法如下;
string s = "16-Aug-78 12:00:00 AM";
var date = DateTime.Parse(s, CultureInfo.InvariantCulture);
date.Dump();
这里有一个 demonstration
。
Is there any way for finding it to converting to any general format?
除非您创建自己的格式,否则无法获取字符串的格式。只有您才能准确知道您的字符串格式是什么,计算机不能。
例如; 01/02/2014
可以是 2014 年 2 月 1 日 或 2014 年 1 月 2 日,具体取决于您可以解析哪种自定义格式。
关于c# - 如何找到日期字符串的确切格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23535476/