【问题标题】:Convert timestamp string to DateTime object in c#在c#中将时间戳字符串转换为DateTime对象
【发布时间】:2013-04-19 11:06:40
【问题描述】:

我有以下格式的时间戳字符串5/1/2012 3:38:27 PM。如何在 c# 中将其转换为 DateTime 对象

【问题讨论】:

  • 如果您发布您尝试过的内容会很有帮助。

标签: c# datetime windows-phone-8


【解决方案1】:
var date = DateTime.ParseExact("5/1/2012 3:38:27 PM", 
    "M/d/yyyy h:mm:ss tt",
    CultureInfo.InvariantCulture);

【讨论】:

    【解决方案2】:

    您输入的字符串看起来像en-us 格式,即M/d/yyyy h/mm/ss tt。解析时必须使用正确的 CultureInfo 实例:

    var ci = System.Globalization.CultureInfo.GetCultureInfo("en-us");
    
    var value = DateTime.Parse("5/1/2012 3:38:27 PM", ci);
    

    var ci = new System.Globalization.CultureInfo("en-us");
    

    【讨论】:

    • 谢谢,这应该可以,但我正在 Windows Phone 上开发。 GetCultureInfo 不包含在System.Globalization.CultureInfo?
    • DateTime.Parse 似乎期望 System.IFormatProvider 所以 ci 被标记为无效参数
    • 啊对不起我的错误,你是对的。我使用的不是字符串对象的日期变量。
    • @PutraKg CultureInfo 实现 IFormatPrivider ;)
    【解决方案3】:

    尝试使用DateTime.ParseExact这样的方法;

    string s = "5/1/2012 3:38:27 PM";
    DateTime date = DateTime.ParseExact(s, "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
    Console.WriteLine(date);
    

    将日期和时间的指定字符串表示形式转换为其 使用指定格式和特定​​区域性的 DateTime 等效项 格式信息。 字符串表示的格式必须匹配 完全符合指定格式。

    输出将是;

    01.05.2012 15:38:27
    

    注意,此输出可能会根据您使用的文化而改变。由于我的Culturetr-TR,所以日期运算符是. 我们的文化。

    这是DEMO

    【讨论】:

      【解决方案4】:

      试试DateTime.ParseExact方法

      【讨论】:

        【解决方案5】:

        http://www.codeproject.com/Articles/14743/Easy-String-to-DateTime-DateTime-to-String-and-For
        这可能对你有帮助。在那里您可以找到 ParseExact 参数的详细说明。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-06-28
          • 2015-01-09
          • 1970-01-01
          • 2012-08-13
          • 1970-01-01
          • 2021-03-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多