将LocalDatetime转换为时间戳

时间:2015-12-21 14:22:25

标签: c# datetime

我有一个MVC应用程序。

在控制器(从视图)我的开始日期为字符串“Tue Jan 01 2008 00:00:00 GMT 0100(中欧标准时间)”。

有人可以告诉我如何将此日期时间转换为正常的dd-mmy-yyyy hh:mm:ss在控制器级别。

提前致谢....

1 个答案:

答案 0 :(得分:0)

您需要使用DateTime.ParseExact方法并提供正确的格式字符串,以便代码知道输入字符串的每个部分代表什么。

CultureInfo provider = CultureInfo.InvariantCulture;
string format = "ddd MMM dd yyyy hh:mm tt zzz";
result = DateTime.ParseExact(dateString, format, provider);

仔细检查格式字符串against the documentation有几个微妙而不那么微妙的问题:

  • “h”表示12小时制中的小时
  • “hh”表示12小时时钟中带有前导零的小时
  • “HH”表示24小时制中的小时,前导零
  • “m”表示从0到59
  • 的分钟
  • “M”表示从1到12的月份

因此,您可能会发现您认为您的格式字符串对于您拥有的示例是正常的,但随后将出现一个无法解析的新字符串。你必须检查一下,看看你是否有12小时或24小时格式的小时等等。

虽然您必须首先从字符串末尾删除时区名称,因为ParseExact无法识别。