有一些我无法理解的DateTime.ToOaDate().
这就是我所拥有的
var plainDate = "01/07/2011";
var dateTime1 = DateTime.Parse(plainDate, new CultureInfo("en-GB"));
var value = dateTime1.ToOADate();
var dateTime2 = DateTime.Parse(DateTime.FromOADate(value).ToString(), new CultureInfo("en-GB"));
Run Code Online (Sandbox Code Playgroud)
dateTime1和dateTime2应该是一样的吧?我只将普通日期转换为刻度,然后将其恢复为具有相同文化的DateTime,但实际上当我运行它时,dateTime2的值为(2011年1月7日),而不是(2011年7月1日)
执行此操作时DateTime.Parse,您将指定预期传入日期所在的格式.
执行此操作时ToString(),您指定应使用当前区域性来格式化日期.
在这里,我猜你Thread.CurrentThread.CurrentCulture.DateTimeFormat正在返回美国格式.因此,DateTime.FromOADate(value).ToString()返回07/01/2011,当您使用en-GB解析它时,它返回1月7日.
| 归档时间: |
|
| 查看次数: |
2680 次 |
| 最近记录: |