将任何时间值转换为hh:mm:ss.ttt格式

时间:2014-07-30 13:29:10

标签: asp.net c#-4.0

我有一个字符串变量如下 字符串日期=" 30/07/2014 18:28:01.000&#34 ;; 现在我想将此字符串变量转换为具有相同日期和时间格式和值的datetime变量。任何人都可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

嗯,这是最明显的方法DateTime.ParseExact()。它需要数据的字符串表示,一个字符串,让它知道日期的格式,以及文化提供者。

string date = "30/07/2014 18:28:01.000";
DateTime dt = DateTime.ParseExact(date, "dd/MM/yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture);

如果您想转换回具有相同格式的字符串,请尝试:

string date2=dt.ToString("dd/MM/yyyy HH:mm:ss.fff");

请记住,DateTime本身没有格式。只有日期和/或时间的字符串表示具有格式,因此在转换为字符串或从字符串转换时提供格式字符串非常重要。

这个问题本来可以通过简单的文档来解决。

答案 1 :(得分:2)

您可以尝试注入DateTimeFormatInfo对象以告诉TryParse方法正确翻译日期

        string date = "30/07/2014 18:28:01.000";
        DateTime newDate;

        var fp = new DateTimeFormatInfo();
        fp.ShortDatePattern = "dd/MM/yyyy";

        DateTime.TryParse(date, fp, DateTimeStyles.AdjustToUniversal,
            out newDate);

答案 2 :(得分:1)

您可以使用:

string date = "30/07/2014 18:28:01.000";

DateTime yourConvertedDate = DateTime.Parse(date);

格式在解析为字符串时才真正有所作为(我认为)。您可以在此处添加格式,如:

string str = yourConvertedDate.ToString("yyyy/MM/dd HH:mm:ss");

作为一个例子。

相关问题