2015-07-19 32 views
0

我需要一个字符串转换为时间跨度,并实现这一点,我已经使用下面的转换,使用C#将字符串转换为时间跨度?

DateTime time = DateTime.ParseExact("12:00 AM", "h:mm tt", CultureInfo.InvariantCulture); 
TimeSpan timeSpan = time .TimeOfDay; 

这是一切的除了12:00 AM运作良好,这是给12:00两个AM/PM ,这对于12:00 PM是可以的,但我需要00:00:00的12:00 AM,有什么方法可以实现这一目标吗?

+0

你的代码提供'00:00:00'我。 – SLaks

+0

12:00 AM = 00:00:00,12:00 PM = 12:00:00对我来说 –

+0

@SLaks哦,其实是的,它工作正常,我的错误我没有仔细调试,谢谢。 – Learner

回答

3

使用下面的代码:

DateTime time = DateTime.ParseExact("00:00", "hh:mm", CultureInfo.InvariantCulture); 

更多选项选中此link

0

你并不需要使用ParseExact而不是使用方法使用简单的方法Parse。但为了施展时间使用HH:mm格式的ToString方法。

DateTime timeAM = DateTime.Parse("12:00 AM", CultureInfo.InvariantCulture); 
DateTime timePM = DateTime.Parse("12:00 PM", CultureInfo.InvariantCulture); 
Console.WriteLine(timeAM.ToString("HH:mm")); 
Console.WriteLine(timePM.ToString("HH:mm")); 

返回结果类似于:

//00:00 
//12:00 
相关问题