首页| 版块| 我的| 发帖| 消息
主题:关于天气预报代码修改的简单记录
zhangjingyu 
“这里的 21600000 是毫秒。为什么是毫秒?”(引用内容)这是一个非常基础但极其重要的问题。答案是:因为 JavaScript(JS)这门语言在处理时间时,底层标准就是按“毫秒”计算的。

我们可以从三个层面来理解:

1. JavaScript 的 Date 对象就是这么设计的
在 JS 里,获取当前时间最常用的代码是 new Date().getTime()(或者简写为 Date.now())。
它返回的不是我们平常看到的日期(比如 2023年10月26日),而是一个时间戳——即从 1970年1月1日 00:00:00 UTC(计算机的“纪元时间”)到现在的总毫秒数。
比如现在的时间戳大概是 1698300000000,这么长的一串数字,单位就是毫秒。我们用这个时间戳去减缓存里的时间戳,得出的差值自然也是毫秒。

2. 为什么 JS 要用毫秒而不是秒?
精度更高:在网页开发和动画中,经常需要精确到几十毫秒的操作(比如 setTimeout(..., 50) 就是 50 毫秒后执行)。如果用秒做基础单位,就无法表达这种高精度时间。

行业标准:几乎所有的前端编程语言(包括 Java、C# 的某些时间库)在处理底层时间戳时,默认都使用毫秒,这已经成为了一种通用的技术共识。

3. 如果是 PHP(服务器端)就不一样了
如果你是在写后台的 PHP 代码,情况就反过来了。PHP 的 time() 函数返回的是秒(比如 1698300000)。
这就是为什么很多人在写代码时容易出错:PHP 里的 86400 是 1 天(秒),但在 JS 里写 86400 只是 86.4 秒。
zhangjingyu回帖于2026-11-01 13:10[查看电脑版]
下一楼»:“加和风的代码费不费服务器资源,缓存如何,请求频次如何?还有,它的样式,似乎不太好看 ..
«上一楼:“能自动定位最好,既然不方便,那就js方案也不错”(引用内 ..

查看全部回帖(23)
«返回主帖