javascript - 获取本地时区并将数据库时间转换为它
问题描述
我在前端显示时间,存储在 DB 中的时间采用 CST 形式 Example 23:35:00 。我使用下面的 PHP 代码显示它:
$formatedEventTime = "--";
if($eventTime != ''){
$formatedEventTime = date('h:i A', strtotime($eventTime));
}
//displays 11:35 PM
现在我需要为在纽约或旧金山观看它的人们获取当地时间,并在他们当地的 TimeZone 中显示他们的时间我不确定什么是最好的方法,因为我可以使用:
var d = new Date();
var n = d.getTimezoneOffset();
var timezone = n / -60;
console.log(timezone);
然后我需要将其转换为小时并根据响应执行加法/减法。有更好的方法吗?
<script> var localTimeZone = moment.tz.guess();
// console.log(localTimeZone);
</script>
//as per comments I am using momentJS
我可以打印像 America/Chicago 这样的 Local timeZone 我如何在我的 PHP 中使用它并根据它显示时间?
解决方案
JS 以 UTC 格式保存日期,并将其显示为适合用户设备上的时区。因此,一种方法是使用 epoch 中的 ms 中的 eventTime 实例化它(new Date($eventTime)).toLocaleString()
(伪代码)。
对于任何加法/减法等,我推荐moment.js库
推荐阅读
- swift - SwiftUI:强制更新
- oracle - 用于读取嵌套 JSON 数据的 Oracle 查询
- powershell - 使用轻度匹配搜索复制位于多个子文件夹中的文件
- python-3.x - 用 theano 解决 pymc3 中的简单化学网络 odes
- pyspark - 如何在 databricks 中读取 kaggle zip 文件数据集
- html - 对齐div中的元素
- c++ - 需要澄清使用 Boost asio 的 SSL 客户端
- r - 通过循环迭代单向方差分析会在 R 中引发错误
- node.js - 为什么我在所有 meanstack 项目中不断收到相同的错误:无法加载资源:net::ERR_CONNECTION_REFUSED
- xml - 读取和解码 base64 XML 并在 PowerShell 中将其保存为 PDF