如何将字符串"1900-01-01 08:00:00.000"
格式化为HH:MM
并将30
分钟添加到其中。我做了以下事情;
p[0]="1900-01-01 08:00:00.000";
TimeSpan _time = TimeSpan.ParseExact(p[0].ToString(), "HH:mm", CultureInfo.InvariantCulture);
TimeSpan addtime = TimeSpan.FromMinutes(30);
_time = _time.Add(addtime);
答案 0 :(得分:9)
这不是TimeSpan
,而是DateTime
。 TimeSpan
代表一段时间,但DateTime
会保留即时时间与日期和时间。
这就是为什么您需要使用DateTime.ParseExact
method的特定格式将其解析为DateTime
。之后,您可以使用AddMinutes
method添加30
分钟。
string s = "1900-01-01 08:00:00.000";
DateTime dt = DateTime.ParseExact(s, "yyyy-MM-dd HH:mm:ss.fff",
CultureInfo.InvariantCulture)
dt = dt.AddMinutes(30); // 01/01/1900 08:30:00
我希望结果为HH:mm
如果您希望将其作为string
,则可以使用DateTime.ToString
方法;
string result = dt.ToString("HH:mm", CultureInfo.InvariantCulture); // 08:30
如果您希望将其作为TimeSpan
,则可以使用TimeOfDay
property之类的;
TimeSpan ts = dt.TimeOfDay; // {08:30:00}