如何使用 javascript 将小时转换为 12 小时/24 小时格式
本文关键字:小时 格式 转换 何使用 javascript | 更新日期: 2023-09-27 18:34:18
我将小时转换为 12 小时/24 小时 在 C# 中以这种方式格式化,但在 JavaScript 中无法执行相同的操作。
我的 C# 代码用于格式化 12 小时/24 小时格式如下
for (int i = 0; i <= 15; i++)
{
strHrs.Add((i == 0 ? "00" : Convert.ToDateTime(TimeSpan.FromHours(i).ToString()).ToString("hh")),
(i == 0 ? "00" : Convert.ToDateTime(TimeSpan.FromHours(i).ToString()).ToString("HH")));
}
我得到了一个看起来不错的JS代码
var timeString = "18:00:00";
var H = +timeString.substr(0, 2);
var h = H % 12 || 12;
var ampm = H < 12 ? "AM" : "PM";
timeString = h + timeString.substr(2, 3) + ampm;
我必须在下拉文本中显示 12 小时格式,但必须在下拉值中显示 24 小时格式。
但是如何在我的情况下申请不是很确定。因此,任何帮助将不胜感激。谢谢
编辑
function convertDateTo12Hrs(timeStr, is24) {
if (is24) {
var BigHrs = timeStr.toString().length == 1 ? "0" + timeStr : timeStr;
return BigHrs; // return if is24 true
}
var h = "" + (+timeStr > 12 ? timeStr - 12 : timeStr);
return h.length == 1 ? "0" + h : h;
}
叫
convert("2", true); // "02"
convert("18", false); // "06"
根据您对我帖子的评论,您可以创建一个将同时返回两者的函数。
function convert(timeStr, is24) {
if (is24) return timeStr; // return if is24 true
var h = "" + (+timeStr > 12 ? timeStr - 12 : timeStr);
return h.length == 1 ? "0" + h : h;
}
现在你可以这样称呼它
convert("18", true); // "18"
convert("18", false); // "06"