2

类似的问题,例如字符串中已经有一个 Parse 小时和 AM/PM 值 - C#,但我需要这样的东西。

string input = "9:00 PM";
DateTime currentTime = DateTime.Now;
// Resultant time like this
currentTime.Add(input)   // Just a sudo

如果当前日期时间像 2013 年 9 月 6 日上午 3:18,那么结果将是这样的 2013 年 9 月 6 日下午 9:00 如何实现这一点。提前致谢。

4

2 回答 2

4

这会成功的......

string input = "9:00 PM";
DateTime time = DateTime.Parse(input);

输出当前日期和输入时间。

2013 年 9 月 6 日晚上 9:00

于 2013-09-06T10:28:38.557 回答
2

试试这样;

string input = "9:00 PM";

if (input.IndexOf("PM") > 0)
{
     DateTime dt = DateTime.Today.Date;
     int hour = Int32.Parse(input[0].ToString()) + 12;
     TimeSpan ts = new TimeSpan(0, hour, 0, 0, 0);
     Console.WriteLine(dt.Add(ts));
}

输出将是;

06.09.2013 21:00:00

这里一个DEMO.

于 2013-09-06T10:31:05.987 回答