分割字符串到数组来创建c#中的dateTime
本文关键字:中的 dateTime 创建 字符串 数组 分割 | 更新日期: 2023-09-27 18:17:32
我有一个名为TheUserTime的字符串,它看起来像这样:
string TheUserTime = "12.12.2011.16.22"; //16 is the hour in 24-hour format and 22 is the minutes
我想通过将字符串拆分为整数数组(当它为0时会发生什么?)并组合date对象来从中生成一个DateTime。
最好的方法是什么?
谢谢。
您应该使用带有自定义格式字符串的DateTime.ParseExact
或DateTime.TryParseExact
。
ParseExact
:
DateTime.ParseExact("12.12.2011.16.22", "dd.MM.yyyy.HH.mm",
CultureInfo.InvariantCulture)
TryParseExact
:
DateTime dt;
if(DateTime.TryParseExact("12.12.2011.16.22", "dd.MM.yyyy.HH.mm",
CultureInfo.InvariantCulture, DateTimeStyles.None,
out dt))
{
// parse successful use dt
}
使用TryParseExact
可以避免在解析失败时可能出现的异常,尽管在这种情况下,dt
变量将具有DateTime
的默认值。
我不推荐您的方法,而是使用ParseExact
并指定期望的格式。
string theUserTime = "12.12.2011.16.22";
var date = DateTime.ParseExact(theUserTime, "MM.dd.yyyy.HH.mm", CultureInfo.CurrentCulture);
您可以使用:
DateTime.ParseExact("12.12.2011.16.22", "MM.dd.yyyy.HH.mm", System.Globalization.CultureInfo.InvariantCulture);