当前位置:首页 > JavaScript

js实现时间转换

2026-01-31 03:23:25JavaScript

时间戳转换为日期格式

使用 Date 对象将时间戳转换为可读日期:

const timestamp = 1625097600000; // 示例时间戳
const date = new Date(timestamp);
console.log(date.toLocaleString()); // 本地化日期时间格式
console.log(date.toISOString()); // ISO 8601格式(UTC时间)

通过 toLocaleString() 可指定格式参数:

date.toLocaleString('zh-CN', { 
  year: 'numeric', 
  month: '2-digit', 
  day: '2-digit',
  hour: '2-digit',
  minute: '2-digit'
});

日期字符串转换为时间戳

使用 Date.parse()getTime()

const dateStr = '2023-01-15';
const timestamp1 = Date.parse(dateStr); // 直接解析字符串
const timestamp2 = new Date(dateStr).getTime(); // 通过Date对象获取
console.log(timestamp1, timestamp2);

注意:日期字符串需符合标准格式(如 YYYY-MM-DD),否则结果可能为 NaN

自定义时间格式化

手动拼接日期组件:

function formatDate(date) {
  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, '0');
  const day = String(date.getDate()).padStart(2, '0');
  return `${year}-${month}-${day}`;
}
console.log(formatDate(new Date())); // 输出如 "2023-06-20"

相对时间计算(如“X天前”)

利用时间差计算相对时间:

function getRelativeTime(timestamp) {
  const now = new Date();
  const diff = now - new Date(timestamp);
  const days = Math.floor(diff / (1000 * 60 * 60 * 24));
  return days > 0 ? `${days}天前` : '今天';
}
console.log(getRelativeTime(Date.now() - 86400000)); // 输出"1天前"

使用第三方库

推荐使用 moment.jsdate-fns 简化操作:

js实现时间转换

// 使用moment.js
const moment = require('moment');
console.log(moment().format('YYYY-MM-DD HH:mm:ss'));

// 使用date-fns
const { format } = require('date-fns');
console.log(format(new Date(), 'yyyy-MM-dd'));

注意:moment.js 已进入维护模式,新项目建议优先选择 date-fns

标签: 时间js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…