从字符串创建DateTime

时间:2013-01-28 12:25:21

标签: c# .net

我需要使用HH创建一个DateTime:MM:SS +当前日期

string myTime = "08:50:00";
DateTime currentDateTime = DateTime.UtcNow.date;

结果应该是DateTime并结合此信息。 怎么办?

5 个答案:

答案 0 :(得分:1)

您需要使用ParseExact - http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx

所以:

var provider = CultureInfo.InvariantCulture;
var date = DateTime.ParseExact(myTime,"hh:mm:ss",provider);

它应该使用日期部分的当前日期。

答案 1 :(得分:1)

这就是你想要的:

DateTime dateTime = DateTime.Today + TimeSpan.Parse(myTime);

答案 2 :(得分:0)

string myDateTimeString;  
DateTime dt;   
dt = Convert.ToDateTime(myDateTimeString); 
Response.Write(dt.Day + "/" + dt.Month + "/" + dt.Year);  

请参阅http://www.ezineasp.net/post/C-Convert-String-to-DateTime.aspx

答案 3 :(得分:0)

您可以尝试类似

的内容
  const string myTime = "08:50:00";
  DateTime now = DateTime.Now;
  string[] split = myTime.Split(':');
  DateTime dt = new DateTime(now.Year, now.Month, now.Day, int.Parse(split[0]), int.Parse(split[1]), int.Parse(split[2]));

但是你应该添加一些空检查和其他验证。

答案 4 :(得分:0)

string myTime = "08:50:00";
                DateTime currentDateTime = DateTime.UtcNow.Date;
               string myDateTime = string.Format("{0}-{1}-{2} {3}", currentDateTime.Year, currentDateTime.Month, currentDateTime.Day,
                              myTime);

               DateTime dt = Convert.ToDateTime(myDateTime, new CultureInfo("en-GB"));

                //or
                DateTime myNewDatetime = new DateTime(currentDateTime.Year, currentDateTime.Month, currentDateTime.Day,
                                                      8, 50, 0);