锻炼用于DateTime格式的字符串格式

时间:2010-01-27 12:09:30

标签: c# datetime parsing string-formatting

我有一个代表DataTime值的字符串,我想锻炼使用什么字符串格式来创建字符串。

例如
- 鉴于“2010年1月27日星期三”,我期待“dddd dd MMM yyyy” - 鉴于“2010 01 27”我期待“yyyy MM dd”

假设日期接近DateTime.Now并且与CurrentCulture相关。因此,我们有en-GB文化 - 鉴于“01 01 2010”,我期待“dd MM yyyy”

有一种简单的方法吗?

2 个答案:

答案 0 :(得分:1)

最简单的方法是查看the reference日期时间格式字符串并将其解决。

您可以使用反射来获取此功能,或使用反汇编程序(例如ILDASM)查找程序集中使用的所有字符串,并猜测哪些是日期时间格式化字符串。

如果取消分配,您可以搜索一周中的日期以及以dddd开头的字符串,该字符串应该告诉您原始内容是如何构建的。

答案 1 :(得分:0)

你可以在空格上拆分以获得字符串数组 那么你可以根据已知值测试数组中的元素,以尝试猜测格式

e.g。如果你发现它是“dddd”

,你会搜索“星期三”

如果四位数字假设yyyy

天和月可能是个问题,你可以测试> 12天,但那是非常糟糕的

也许你可以在orignal上使用空格分割然后使用DateTime.Parse推断格式,并针对格式化(使用感染格式)版本的解析日期进行测试