JavaScript 时间戳与日期格式互转及 Date 对象用法详解

作者:异步漫步

时间:2026-10-31

浏览:429

本文详细解析 JavaScript 中时间戳与日期格式的相互转换方法。涵盖 Date 对象的创建、获取年月日时分秒及星期等属性,以及如何通过 getTime、valueOf 和 Date.parse 获取时间戳。同时提供将时间戳转换为标准或自定义格式日期的代码示例,解决浏览器显示格式不一致的问题。

文章目录

JavaScript 时间戳与日期格式的转换

首先介绍如何将时间戳转换为易读的日期格式。

function timestampToTime(timestamp) {
  // 时间戳为10位需*1000,时间戳为13位不需乘1000
  var date = new Date(timestamp * 1000);
  var Y = date.getFullYear() + "-";
  var M =
    (date.getMonth() + 1 < 10
      ? "0" + (date.getMonth() + 1)
      : date.getMonth() + 1) + "-";
  var D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
  var h = date.getHours() + ":";
  var m = date.getMinutes() + ":";
  var s = date.getSeconds();
  return Y + M + D + h + m + s;
}
console.log(timestampToTime(1670145353)); //2022-12-04 17:15:53

接着介绍如何将日期格式转换为时间戳。

var date = new Date("2022-12-04 17:15:53:555");
// 有三种方式获取
var time1 = date.getTime();
var time2 = date.valueOf();
var time3 = Date.parse(date);
console.log(time1); //1670145353555
console.log(time2); //1670145353555
console.log(time3); //1670145353000

JavaScript 基础:Date 对象以及日期和时间戳的转换

在 JavaScript 中,使用 Date 对象来表示时间和日期。

可以获取年月日、时分秒以及星期等信息。

var now = new Date();
now;
now.getFullYear(); // 2021, 年份
now.getMonth(); // 2, 月份,月份范围是0~11,2表示3月
now.getDate(); //  4, 表示4号
now.getDay(); // 3, 星期三
now.getHours(); // 16, 表示19h
now.getMinutes(); // 41, 分钟
now.getSeconds(); // 22, 秒
now.getMilliseconds(); // 473, 毫秒数
now.getTime(); // 1614847074473, 以number形式表示的时间戳

创建指定日期的时间对象。

var d = new Date(2021, 3, 4, 16, 15, 30, 123);

将日期字符串解析为时间戳。

var d = Date.parse('2021-03-04 16:49:22.123');
d; // 1614847762123
// 尝试更多方式
(new Date()).valueOf(); 
new Date().getTime(); 
Number(new Date()); 

将时间戳转换为日期。

var d = Date.parse('2021-03-04 16:49:22.123');
d; // 1614847762123
// 尝试更多方式
(new Date()).valueOf(); 
new Date().getTime(); 
Number(new Date()); 

将时间戳转换为自定义格式的日期。

由于操作系统或浏览器显示的格式存在不确定性,固定格式的日期通常需要自行拼接。

function getDate() {
    var now = new Date(),
        y = now.getFullYear(),
        m = now.getMonth() + 1,
        d = now.getDate();
    return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
}
getDate() // "2021-03-04 16:56:39"

至此,关于 JavaScript 时间戳与日期格式转换的介绍结束。如需了解更多相关内容,请搜索本站过往文章或继续浏览以下相关文章,感谢大家的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章