【问题标题】:Convert 00 to 12 in JS在 JS 中将 00 转换为 12
【发布时间】:2021-07-29 11:43:39
【问题描述】:

我有这段代码可以让我在 js 中从 12 小时到 24 小时,反之亦然。这里是:

setInterval( function() {
  var time = new Date();
  var twelveTime = time.toLocaleString('en-UK', { hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: true });
  var normalTime = time.toLocaleString('en-UK', { hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false });
  if ($("#timeCheck").is(":checked")) $("#time").html(twelveTime);
  else $("#time").html(normalTime);
  /* Save 12 or 24 */
  setInterval(function saveTimeMode() {
    var checkbox = document.getElementById("timeCheck");
    localStorage.setItem("timeCheck", checkbox.checked);
  }, 0);
  var checked = JSON.parse(localStorage.getItem("timeCheck"));
  document.getElementById("timeCheck").checked = checked;
}, 50);

但问题是,当它是 12 小时制并且是 12:00 PM 时,它会显示为 00:00。我该如何改变这个。它也必须在 LocalString 中,否则我的代码将无法工作。谢谢

【问题讨论】:

  • en-UK 可能无效,应该是 en-GB - 但不要认为它会有所作为!
  • 所以毫秒你将复选框状态写入本地存储??
  • 哇哇哇哇...你打电话给setInterval(..., 0) inside setInterval(..., 50)?????停止!如果您想在localStorage 中保存复选框的状态,只需将其设置在change 事件中!
  • 无论如何,看起来英国语言环境使用00 AM00 PM 分别表示午夜和中午。如果你想要12 AM 午夜和12 PM 中午(坦率地说,这对我来说完全没有意义......)然后使用'en-US',因为他们会做所有这样奇怪的约会。
  • @NiettheDarkAbsol 在change 事件中设置它是什么意思?没有其他选择对我有用吗?谢谢

标签: javascript time


【解决方案1】:

我不得不将它从 en_US 更改为 en_UK。谢谢!

【讨论】:

    猜你喜欢
    • 2020-11-11
    • 1970-01-01
    • 2015-11-05
    • 2022-01-10
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    相关资源
    最近更新 更多