繁体   English   中英

将字符串转换为DateTime对象

[英]Converting a string to DateTime object

我想将特定格式的字符串转换为DateTime

我特定的字符串格式是“ dd-mm-yyyy ”。

我无法进行任何字符串操作。

这是我现在拥有的代码:

DateTime convertedDate = DateTime.Parse(stringInput);

似乎您希望可以使用静态ParseExact方法来指定实际的日期时间格式。

var convertedDate = DateTime.ParseExact(input, "dd-MM-yyyy", null);

(根据上下文,您可能还需要指定CultureInfo.InvariantCulture而不是null /当前区域性作为参数。)

试试DateTime.ParseExact

DateTime.ParseExact("01-05-2009", "dd-MM-yyyy", null)

这听起来像是本地化问题-如果是这种情况,我建议使用接受System.IFormatProvider 的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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM