我有一个代表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”
有一种简单的方法吗?
答案 0 :(得分:1)
最简单的方法是查看the reference日期时间格式字符串并将其解决。
您可以使用反射来获取此功能,或使用反汇编程序(例如ILDASM)查找程序集中使用的所有字符串,并猜测哪些是日期时间格式化字符串。
如果取消分配,您可以搜索一周中的日期以及以dddd
开头的字符串,该字符串应该告诉您原始内容是如何构建的。
答案 1 :(得分:0)
你可以在空格上拆分以获得字符串数组 那么你可以根据已知值测试数组中的元素,以尝试猜测格式
e.g。如果你发现它是“dddd”
,你会搜索“星期三”如果四位数字假设yyyy
天和月可能是个问题,你可以测试> 12天,但那是非常糟糕的
也许你可以在orignal上使用空格分割然后使用DateTime.Parse推断格式,并针对格式化(使用感染格式)版本的解析日期进行测试