具有特定格式和 GMT 的 JQuery 更新日期

Posted

技术标签:

【中文标题】具有特定格式和 GMT 的 JQuery 更新日期【英文标题】:JQuery updating date with specific format and GMT 【发布时间】:2021-07-23 13:33:09 【问题描述】:

我只是把在***上找到的JQuery函数用来更新时间:

$(document).ready(function () 

  var serverTime = new Date();

  function updateTime() 
    /// Increment serverTime by 1 second and update the html for '#time'
    serverTime = new Date(serverTime.getTime() + 1000);
    $('#actual_time').html(serverTime);
  

  $(function() 
    updateTime();
    setInterval(updateTime, 1000);
  );

)

但现在我正在尝试使用这样的代码更改格式,但未成功。

serverTime2 = new $.format.date(new Date(serverTime.getTime() + 1000), 'g:i A')

我想将日期格式更改为“g:i A”,并且我还想将特定的 GMT 应用于我的日期,而不是 serverTime

你能帮帮我吗?

【问题讨论】:

$.format.date 使用什么库?这不是 jquery 的一部分。还是在你的php中?请明确说明您要更改的内容以及问题的确切位置和位置。 【参考方案1】:

这里不需要 JQuery。尝试使用toLocaleTimeString

const locale24HourTime = (tz, date) => date.toLocaleTimeString("en-EN", 
    timeZone: tz, hourCycle: 'h23', hour: "2-digit",
    minute: "2-digit", second: "2-digit" );

const date1 = new Date();
console.log(`Atlantic/Reykjavik: $locale24HourTime(`Atlantic/Reykjavik`, date1)`);
console.log(`Asia/Kolkata: $locale24HourTime(`Asia/Kolkata`, date1)`);
console.log(`Asia/Shanghai: $locale24HourTime(`Asia/Shanghai`, date1)`);
console.log(`Europe/London: $locale24HourTime(`Europe/London`, date1)`);

【讨论】:

确实可以,但是在我的 PHP 代码中,我正在通过执行 ltrim(date('g:i A', (time() + 3600 * (int)$diff_time)) 重新格式化小时) 并且 $diff_time 是我从 API 获得的来自 GMT 的 +1 或 +2。所以我不能将我的 API 数据与 JQuery 一起使用吗?或者也许把它放在一个隐藏的 div 中可能是解决方案。 您的问题中没有提到 PHP。如果你想操作一个日期客户端,它的值取决于它从服务器接收到的实际日期。我建议您专注于从服务器提供 UTC 日期,并为此使用客户端中答案的locale24HourTime-函数。 Here 你会发现一个使用从a sunset-rise-API 提供的 UTC 日期值的小实验(悬停在问号上的时间操作结果)。

以上是关于具有特定格式和 GMT 的 JQuery 更新日期的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MQ 的 esql 将日期的特定时区转换为 GMT 时区?

使用 jquery/javascript 更改日期时间格式

将 GMT 时间转换为特定的字符串格式 [重复]

无效日期 - JavaScript GMT 时间

将Dataset中的列类型转换为python中具有特定格式的日期时间类型时出错

将 GMT+# 格式的日期时间转换为 GMT