【问题标题】:Display time based on my Operating System time format根据我的操作系统时间格式显示时间
【发布时间】:2019-06-12 15:09:12
【问题描述】:

我是编码新手。我知道 HTML、CSS 和 js。我的问题是我想根据操作系统时间格式在我的 HTML 页面中显示时间。例如,我的系统时间格式是 12 小时格式 如果我的系统时间格式是 24 小时,我需要显示 12 小时格式 我需要在我的 HTML 页面中显示 24 小时格式。我在操作系统时间设置中测试自己切换时间格式。那个时候页面时间也必须改变。

可以用 HTML、CSS 和 js 做吗?

如果没有,还有其他方法可以做到这一点。帮助或建议我

【问题讨论】:

  • toLocaleTimeString()?
  • 供以后参考 - 这个网站是你的朋友 - developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
  • @NiettheDarkAbsol toLocaleTimeString() 不会根据您的操作系统格式化时间。我的操作系统时间是 24 小时,但 toLocaleTimeString() 的输出仍然是 12 小时。我认为这很可能是 OP 必须走的路,只是要注意。

标签: javascript html css


【解决方案1】:

可能会有帮助

var currentTime = new Date(),
      hours = currentTime.getHours(),
      minutes = currentTime.getMinutes();

	if (minutes < 10) {
	 minutes = "0" + minutes;
  }

	var suffix = "AM";
	if (hours >= 12) {
    suffix = "PM";
    hours = hours - 12;
	}
	if (hours == 0) {
	 hours = 12;
	}

	document.write(hours + ":" + minutes + " " + suffix)

【讨论】:

  • 为什么我们不这样做来转换成 12 小时格式:new Date().toLocaleTimeString('en-US') ?
【解决方案2】:

简短的回答是否定的,但是,您可以检查系统查询可能性的使用方式:

console.log(navigator)

查看answer

使用 JS Answer & 获取系统信息 导航器documentation

【讨论】:

    【解决方案3】:

    不确定我们是否具有区分时间格式并根据操作系统时间为我们提供输出的功能。但以防万一你有机会在最后进行操作,请尝试使用 JavaScript 内置函数:

    对于 12 小时格式:

    let formattedTime = new Date().toLocaleTimeString('en-US');
    console.log(formattedTime)

    24 小时制:

    let currentDateTime = new Date();
        let formattedTime = currentDateTime.getHours() + ":" + currentDateTime.getMinutes() +":" + currentDateTime.getSeconds();
        console.log(formattedTime)

    (或)

    如@Edson 所述,一行中的 24 小时格式:

    let currentDateTime = new Date();
    console.log(currentDateTime.toLocaleTimeString('en-US', { hour12: false }))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 2013-04-22
      • 1970-01-01
      相关资源
      最近更新 更多