javascript 在静态网站上实时显示和格式化UTC时间

pnwntuvh  于 2023-04-19  发布在  Java
关注(0)|答案(4)|浏览(70)

我的网站目前显示UTC时间如下:
2022-03-22T23:38:25.748Z
但我希望它的格式是这样的:
23:39:22 UTC
下面是我的javascript:

<script type="text/javascript"> 
  function display_c(){
  var refresh=1000; // Refresh rate in milli seconds
  mytime=setTimeout('display_ct()',refresh)
  }
  
  function display_ct() {
  var x = new Date()
  var x1=x.toISOString();// changing the display to UTC string
  document.getElementById('ct').innerHTML = x1;
  tt=display_c();
   }

  <body onload=display_ct();><span id='ct' >

你能帮我格式化这个吗?我已经研究过使用angular并搜索其他方法来实现这一点,但似乎有很多方法可以做到这一点。我尝试过的东西不能正确显示格式。上面的代码是我找到的最接近的解决方案。

q3qa4bjr

q3qa4bjr1#

这应该会产生你想要的格式。

let date = new Date();
let utc_string = date.toUTCString().match(/..:..:.. .*/)[0];
console.log(utc_string);
wtzytmuj

wtzytmuj2#

使用Intl.DateTimeFormat方法,如下所示:

function display_c(){
    const refresh = 1000; 
    mytime = setTimeout('display_ct()',refresh)
  }
  
  function display_ct() {
    let dtf = new Intl.DateTimeFormat("en-GB", { timeZone: "GMT", hour12: false, timeStyle: "long" });
    document.getElementById('ct').innerHTML = dtf.format( new Date() );
    tt = display_c();
   }

display_ct();
<div id="ct"></div>

定制:

您可以使用各种可用的配置选项来自定义日期时间的格式,也可以使用以下设置来显示自定义字符串:

function display_ct() {
    let dtf = new Intl.DateTimeFormat("en-GB", { timeZone: "GMT", hour12: false, timeStyle: "medium" });
    document.getElementById('ct').innerHTML = dtf.format( new Date() ) + " Zulu";
   }

可用的配置选项:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat

e5nqia27

e5nqia273#

new Date().toISOString().slice(11, 19) + ' UTC'

ISO日期时间格式的一个很好的和有意的属性是,大多数部分总是相同的长度。
请注意,正确的行为是截断,而不是舍入。

a14dhokn

a14dhokn4#

我发现了一个网站来帮助你。我给予你一个例子太。https://www.codevscolor.com/javascript-iso-utc

const date = new Date('2022-03-22T23:38:25.748Z')

console.log(date.toString())
console.log(date.toUTCString())

相关问题