如何将字符串“1900-01-01 08:00:00.000”格式化为 HH:MM 并向其添加 30 分钟?
How can I format string "1900-01-01 08:00:00.000" to just HH:MM and add 30 minutes to it?
如何将字符串 "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);
这不是 TimeSpan
,而是 DateTime
。 TimeSpan
表示时间长度,但 DateTime
将即时时间与日期和时间保持一致。
这就是为什么您需要使用 特定的 格式将其解析为 DateTime
DateTime.ParseExact
method. After that, you can add 30
minutes with AddMinutes
method.
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
i want the result to be in HH:mm
如果你想将其作为 string
,你可以使用 DateTime.ToString
方法,例如;
string result = dt.ToString("HH:mm", CultureInfo.InvariantCulture); // 08:30
如果你想把它作为 TimeSpan
,你可以使用 TimeOfDay
property like;
TimeSpan ts = dt.TimeOfDay; // {08:30:00}
如何将字符串 "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);
这不是 TimeSpan
,而是 DateTime
。 TimeSpan
表示时间长度,但 DateTime
将即时时间与日期和时间保持一致。
这就是为什么您需要使用 特定的 格式将其解析为 DateTime
DateTime.ParseExact
method. After that, you can add 30
minutes with AddMinutes
method.
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
i want the result to be in HH:mm
如果你想将其作为 string
,你可以使用 DateTime.ToString
方法,例如;
string result = dt.ToString("HH:mm", CultureInfo.InvariantCulture); // 08:30
如果你想把它作为 TimeSpan
,你可以使用 TimeOfDay
property like;
TimeSpan ts = dt.TimeOfDay; // {08:30:00}