javascript - getDate 返回当前时间的第二天
问题描述
这是由于我的笔记本电脑上的时区设置还是更复杂的原因?
当前时间
var dateObj = new Date();
var month = dateObj.getUTCMonth() + 1; //months from 1-12
var day = dateObj.getUTCDate();
var year = dateObj.getUTCFullYear();
var week = 7;
console.log ('date ',dateObj,' day is ',day);
输出
> date Mon Jan 14 2019 23:05:35 GMT-0500 (Eastern Standard Time) day is 15
编辑: new Date() 创建的时间(Mon Jan 14 2019 23:05:35 GMT-0500)实际上是我所追求的正确时间。
在考虑了我在评论中读到的信息之后,似乎我需要减去每小时的变化( - 5 )来获得 EST,这似乎是我所追求的。
解决方案
看来我需要减去每小时的变化( - 5 )才能得到 EST
减法5
不是一个好主意,因为它不考虑夏令时。
我建议使用toLocaleString()
是安全的。
var dateObj = new Date();
//Output as UTC
var utc = { timeZone: "UTC" };
console.log(dateObj.toLocaleString("en-US", utc));
//Output as EST
var est = { timeZone: "America/New_York" };
console.log(dateObj.toLocaleString("en-US", est));
推荐阅读
- c# - 如何使用 selenium webdriver 提取 UI 标签文本
- ruby-on-rails - 我如何验证资源是否已经与其他资源关联?
- android - ARCore 跟踪标记
- wordpress - How do I remove a query string from the URL in Wordpress?
- sql - ORACLE SQL CAST IN CASE 语句
- java - javaFX 无法在 JDK 10.0.1 上运行
- ios - 当我在 Swift 中创建一个大数组时出现问题
- python - 将单索引数据框添加到多索引数据框,Pandas,Python
- oracle - 使用 oracle 数据库中的图标类型来调用图标并将其用作传单中的标记图标
- c++ - 删除标题栏 - Windows 10 对话窗口