关于将数值转换为 24 小时格式时间的问题
Issue regarding convert numeric value to 24 hrs format time
我试图将数值转换为 24 小时格式时间,但代码不起作用。这是我的代码:
string xx =
Convert.ToDateTime(TimeSpan.FromHours(01).ToString())
.ToString("HH", System.Globalization.CultureInfo.InvariantCulture);
OR
string xx1 =
new DateTime(TimeSpan.FromHours(01).Ticks)
.ToString("HH", System.Globalization.CultureInfo.InvariantCulture);
OR
var t = DateTime.Now.TimeOfDay;
string xx2 =new DateTime(t.Ticks).ToString("hh:mm:ss tt");
OR
string ss = TimeSpan.FromHours(01).ToString("HH");
以上代码无效。我搜索了 Google,每个人都说使用 HH
来获取 24 小时格式的小时数。谁能告诉我这是否是我 PC 的特定问题?
getting no error rather first line of code return 01 instead of 13.
因为您从午夜开始添加 1
小时。您应该添加 13
小时,而不是像;
string xx = Convert.ToDateTime(TimeSpan.FromHours(13).ToString())
.ToString("HH", System.Globalization.CultureInfo.InvariantCulture);
因为 TimeSpan.FromHours(01).ToString()
returns 01:00:00
as a string
, Convert.ToDateTime
将此字符串解析为 13/01/2015 01:00:00
1.
和 24-hour clock 表示 01
将与其本身相同,无论您使用 hh
还是 HH
说明符。
在你的第二个例子中,你计算你的 TimeSpan
作为 Ticks
and DateTime(Int64)
constructor 从 01/01/0001
计算这次你的 DateTime
最终将是 01/01/0001 01:00:00
并且尽管如此,它的 24 小时制表示仍然是 01
.
在您的第三个示例中,您正在使用 TimeOfDay
property, that's why your DateTime will be 01.01.0001 15:10:36
(when I run your example right now) and it's hh:mm:ss tt
representation will be 03:11:31 PM
in InvariantCulture
调用 DateTime(Int64)
构造函数。
您的第四行抛出 FormatException
because there is no standard or custom HH
格式说明符 TimeSpan
.
1: 由于您只解析没有日期的小时,因此此方法 returns 日期部分作为今天
我试图将数值转换为 24 小时格式时间,但代码不起作用。这是我的代码:
string xx =
Convert.ToDateTime(TimeSpan.FromHours(01).ToString())
.ToString("HH", System.Globalization.CultureInfo.InvariantCulture);
OR
string xx1 =
new DateTime(TimeSpan.FromHours(01).Ticks)
.ToString("HH", System.Globalization.CultureInfo.InvariantCulture);
OR
var t = DateTime.Now.TimeOfDay;
string xx2 =new DateTime(t.Ticks).ToString("hh:mm:ss tt");
OR
string ss = TimeSpan.FromHours(01).ToString("HH");
以上代码无效。我搜索了 Google,每个人都说使用 HH
来获取 24 小时格式的小时数。谁能告诉我这是否是我 PC 的特定问题?
getting no error rather first line of code return 01 instead of 13.
因为您从午夜开始添加 1
小时。您应该添加 13
小时,而不是像;
string xx = Convert.ToDateTime(TimeSpan.FromHours(13).ToString())
.ToString("HH", System.Globalization.CultureInfo.InvariantCulture);
因为 TimeSpan.FromHours(01).ToString()
returns 01:00:00
as a string
, Convert.ToDateTime
将此字符串解析为 13/01/2015 01:00:00
1.
和 24-hour clock 表示 01
将与其本身相同,无论您使用 hh
还是 HH
说明符。
在你的第二个例子中,你计算你的 TimeSpan
作为 Ticks
and DateTime(Int64)
constructor 从 01/01/0001
计算这次你的 DateTime
最终将是 01/01/0001 01:00:00
并且尽管如此,它的 24 小时制表示仍然是 01
.
在您的第三个示例中,您正在使用 TimeOfDay
property, that's why your DateTime will be 01.01.0001 15:10:36
(when I run your example right now) and it's hh:mm:ss tt
representation will be 03:11:31 PM
in InvariantCulture
调用 DateTime(Int64)
构造函数。
您的第四行抛出 FormatException
because there is no standard or custom HH
格式说明符 TimeSpan
.
1: 由于您只解析没有日期的小时,因此此方法 returns 日期部分作为今天