将字符串转换为DateTime对象
问题描述:
我想将特定格式的字符串转换为DateTime
。将字符串转换为DateTime对象
我的具体字符串格式是“dd-mm-yyyy
”。
我不能做任何字符串操作。
这是我现在所拥有的代码:
DateTime convertedDate = DateTime.Parse(stringInput);
答
看来你想要的静态ParseExact
方法,你可以指定实际的日期时间格式。
var convertedDate = DateTime.ParseExact(input, "dd-MM-yyyy", null);
(根据上下文,你可能还需要指定CultureInfo.InvariantCulture
,而不是null
/电流文化作为参数。)
答
这听起来像一个本地化问题 - 如果是这种情况,我建议使用接受System.IFormatProvider的overloads of DateTime.parse之一。从文档:
Type: System.IFormatProvider An object that supplies culture-specific format information about s.
这也使你的代码是灵活的 - 如果日期格式在未来发生了改变,以支持不同的文化,你可以改变的格式提供。
答
var convertedDate = DateTime.ParseExact("04-05-2010","dd-MM-yyyy",CultureInfo.InvariantCulture);
答
string m = "11-02-1983";
var culture = CultureInfo.CreateSpecificCulture("fr-FR");
var styles = DateTimeStyles.None;
DateTime date;
if (DateTime.TryParse(m, culture, styles, out date))
{
//grabbed date successfully
}
else
{
//epic fail
}