如何将一串数字转换为24次

本文关键字:数字 一串 转换 24次 | 更新日期: 2023-09-27 18:25:25

如何将一串数字转换为24次

字符串示例是类似于"0800"、"1200"或"2400"

我希望将其解析为时间数据类型(但没有日期),这样我就可以相互比较2次。我将它们解析为int数字,但随后它在像"0800"

如何将一串数字转换为24次

这样的数字上修剪了左零
var ts  = TimeSpan.ParseExact("1500", "hhmm",null);

你可以对它们进行比较,例如

var ts1 = TimeSpan.ParseExact("1500", "hhmm", null);
var ts2 = TimeSpan.ParseExact("2000", "hhmm", null);
var mins = ts2.Subtract(ts1).TotalMinutes;

如果您想将结果作为DateTime对象,请查看DateTime.ParseExact方法:

DateTime.ParseExact(dateString, "HHmm", CultureInfo.InvariantCulture);

由于您不想要日期部分,TimeSpan是您的最佳选择。

代码:

var time1 = "0800";
var time2 = "1200";
var time3 = "2359"; // 2400 is not a valid time

var ts1 = TimeSpan.ParseExact(time1, "hhmm", CultureInfo.InvariantCulture);
var ts2 = TimeSpan.ParseExact(time2, "hhmm", CultureInfo.InvariantCulture);
var ts3 = TimeSpan.ParseExact(time3, "hhmm", CultureInfo.InvariantCulture);
Console.WriteLine(ts1);
Console.WriteLine(ts2);
Console.WriteLine(ts3);
// Calculating time difference.
var tsDiff = ts1.Subtract(ts2);
Console.WriteLine(tsDiff);

输出:

08:00:00
12:00:00
23:59:00
-04:00:00