讲师中心 微信公众号
AI工具推荐 视频效率加速

javascript如何操作日期和时间_有哪些常用方法

陌丽君_6683

陌丽君_6683

发布时间:2026-01-05 20:44:59

|

497人浏览过

|

来源于php中文网

原创

JavaScript中Date对象默认使用本地时区,字符串构造有歧义,应优先用参数形式;获取时间用getFullYear()等,UTC操作用getUTC系列;格式化推荐Intl.DateTimeFormat;日期运算宜用毫秒加减。

javascript如何操作日期和时间_有哪些常用方法

JavaScript 中 Date 对象的创建和基础校准

直接用 new Date() 创建的是本地时区时间,不是 UTC,也不是服务器时间。很多时间计算出错,根源就在这里。

  • new Date():取浏览器当前本地时间(含时区偏移)
  • new Date('2024-01-01'):字符串解析有歧义——'2024-01-01' 被当作 UTC 时间处理,但 '2024/01/01' 才按本地时区解析
  • 避免用字符串构造器,改用参数形式:new Date(2024, 0, 1, 12, 30, 0)(注意:月份是 0~11)
  • 需要 UTC 时间?用 Date.UTC(2024, 0, 1, 12, 30, 0) 得到毫秒数,再传给 new Date(...)

获取年月日时分秒——别直接用 getYear() 和 getYear() 已废弃

getYear() 返回的是距 1900 的年份数(如 2024 → 124),且已被标准废弃,必须用 getFullYear()。

  • getFullYear() / getMonth() / getDate():本地时区值(getMonth() 同样是 0~11)
  • getUTCFullYear() / getUTCMonth() / getUTCDate():对应 UTC 值,跨时区场景必须用这套
  • getHours() 和 getUTCHours() 差异可能达 ±24 小时,比如北京时间 new Date('2024-01-01T00:00:00Z') 的 getHours() 是 8,getUTCHours() 是 0

格式化输出——toJSON()、toISOString() 和 toLocaleString() 的关键区别

toISOString() 和 toJSON() 行为一致,都返回形如 "2024-01-01T00:00:00.000Z" 的 UTC 字符串;而 toString() 返回带本地时区的长字符串,不可靠。

Pilot Digital Twin Setup
Pilot Digital Twin Setup

部署一个包含 4 个智能体(agent)的数字孪生平台。在以下情况下使用该技能: 1. 用户希望为物理资产监控与预测性维护等场景搭建数字孪生系统……

下载
  • date.toISOString():适合 API 传输、数据库存储,明确带 Z 表示 UTC
  • date.toLocaleString('zh-CN'):按用户本地语言+时区格式化,但结果不可预测(比如 iOS 和 Chrome 对 hour12: true 处理不同)
  • 需要可控格式?别拼字符串,用 Intl.DateTimeFormat:
const fmt = new Intl.DateTimeFormat('zh-CN', {
  year: 'numeric',
  month: '2-digit',
  day: '2-digit',
  hour: '2-digit',
  minute: '2-digit',
  second: '2-digit',
  hour12: false
});
fmt.format(new Date()); // "2024-01-01 12:30:45"

日期加减和比较——用毫秒运算,别改 Date 实例内部

Date 对象本身不可变(所有 setter 都是原地修改),但「加 7 天」这种操作容易误写成 date.setDate(date.getDate() + 7),看似合理,实则在夏令时切换日或跨月时出错(比如 3 月 31 日加 1 天,可能跳到 4 月 1 日,也可能变成 4 月 0 日 → 自动归位到 3 月 30 日)。

立即学习“Java免费学习笔记(深入)”;

  • 安全做法:转成毫秒,加减后再重建:new Date(date.getTime() + 7 * 24 * 60 * 60 * 1000)
  • 比较两个时间?直接用 date1 > date2 或 date1.getTime() > date2.getTime(),两者等价,但前者更简洁
  • 注意 NaN 风险:无效 Date(如 new Date('abc'))的 getTime() 是 NaN,参与比较会始终返回 false

时区、字符串解析歧义、夏令时边界、getMonth() 从 0 开始——这些不是边缘情况,而是日常踩坑高频点。写时间逻辑前,先确认你到底要本地时间、UTC 时间,还是某个固定时区时间。

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

2686

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

5219

2023.11.06

Chrome开启无痕模式
Chrome开启无痕模式

本专题整合了Chrome无痕模式开启相关内容,阅读专题下面的文章了解更多详细教程。

3727

2026.03.24

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1718

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2644

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

6044

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

5569

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

7254

2024.03.22

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

0

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebStorm 官方调试文档
WebStorm 官方调试文档

共0课时 | 0人学习

React 教程
React 教程

共58课时 | 12.2万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 6.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn