在 JavaScript 中格式化日期:实现 yyyy-mm-dd 格式
在 JavaScript 中格式化日期可能是一个挑战,尤其是在尝试实现特定的格式。例如,如果您有一个格式为“2014 年 5 月 11 日星期日”的日期,并希望将其转换为“2014-05-11”,该怎么做?
一种方法,如中所示提供的代码涉及将日期拆分为其组成部分。但是,此方法无法将日期转换为所需的格式。为了解决这个问题,我们可以利用一种更有效的方法,即 JavaScript 的内置 toISOString 方法。
toISOString 方法将日期对象转换为 ISO 8601 格式的字符串表示形式,恰好是“yyyy-”毫米-ddThh:毫米:ss.sssZ。”要仅提取日期部分,我们可以使用字母“T”作为分隔符分割字符串并取第一部分:
let yourDate = new Date(); yourDate.toISOString().split('T')[0];
此方法将返回“yyyy-mm-dd”中的日期" 格式,满足原来的要求。
解决时区差异
就是需要注意的是,toISOString 方法不考虑时区差异。为了解决这个问题,需要根据用户当地时间和日期对象时区之间的偏移进行修正。
const offset = yourDate.getTimezoneOffset(); yourDate = new Date(yourDate.getTime() - (offset * 60 * 1000)); return yourDate.toISOString().split('T')[0];
通过此修正,返回的日期将在“yyyy- mm-dd”格式,根据用户本地时区进行调整。
以上是如何在 JavaScript 中将日期格式设置为 yyyy-mm-dd?的详细内容。更多信息请关注PHP中文网其他相关文章!