当前位置:首页 > 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实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…