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