分割字符串到数组来创建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。

最好的方法是什么?

谢谢。

分割字符串到数组来创建c#中的dateTime

您应该使用带有自定义格式字符串的DateTime.ParseExactDateTime.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);