在C#中,如何将字符串时间(格式为HH:mm)转换为DateTime变量?

时间:2014-01-06 05:27:19

标签: c# string datetime time

我有一个字符串,表示格式为“HH:mm”的时间,例如“8:15”(假设时间是24小时格式)。在C#中,如何将其转换为DateTime实例,其中日期是今天的日期,时间是上午8:15?

5 个答案:

答案 0 :(得分:2)

string ds = "8:15";
string[] parts = ds.Split(new[] { ':' });
DateTime dt = new DateTime(
                   DateTime.Now.Year,
                   DateTime.Now.Month,
                   DateTime.Now.Day,
                   Convert.ToInt32(parts[0]), 
                   Convert.ToInt32(parts[1]));

答案 1 :(得分:1)

 DateTime.Parse(DateTime.Now.Date.ToString() + " " + yourString);

答案 2 :(得分:0)

       string time ="8:15";            
       DateTime date = DateTime.Parse(DateTime.Now.ToString("M/d/yyyy ") + time);

答案 3 :(得分:0)

您可以使用TimeSpan.ParseExact解析时间,然后将其添加到今天的日期 使用DateTime.Add

鉴于你的时间是这样的变量:

var timeText = "8:15";

解析这样的时间:

var time = TimeSpan.ParseExact(timeText, "h:mm", /*todo*/);

根据您的要求填写最后一个参数。

然后将其添加到今天的日期:

DateTime.Today.Add(time);

答案 4 :(得分:0)

假设当前日期的情况:

    string time ="8:15";
    var dt = Convert.ToDateTime(String.Format("{0} {1}",
             DateTime.Now.ToShortDateString(),time));

如果您在字符串中有有效日期,则可以使用。您还可以使用DateTime.TryParse()来检查有效日期。

 var date ="01/01/2014";
  var dt = Convert.ToDateTime(String.Format("{0} {1}",
                 date,time));

您将获得输出

01/06/2014 08:15:00