在开发中,遇到了需要通过js获取当前时间,并格式化其为执行样式的形式(公司肯定封装了有方法,但是我刚来,不知道,所以只能手写)
目录
获取当前时间
下面是一段日期获取当前时间的代码,2024年7月13日。 都是原生的一些方法
var date=new Date()
date.getFullYear(); //获取完整的年份(4位,1970-????)
date.getMonth(); //获取当前月份(0-11,0代表1月)
date.getDate(); //获取当前日(1-31)
date.getDay(); //获取当前星期X(0-6,0代表星期天)
date.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
date.getHours(); //获取当前小时数(0-23)
date.getMinutes(); //获取当前分钟数(0-59)
date.getSeconds(); //获取当前秒数(0-59)
date.getMilliseconds(); //获取当前毫秒数(0-999)
date.toLocaleDateString(); //获取当前日期 '2024/7/13'
date.toLocaleTimeString(); //获取当前时间 '13:52:13'
date.toLocaleString( ); //获取日期与时间 '2024/7/13 13:52:13'
date.toDateString(); // 以美式英语和人类易读的形式返回一个日期对象日期(星期,月,日,年)部分的字符串
格式化时间
字符串操作方法格式化
使用padStart方法对数据进行操作,实现执行样式的格式化
const date = new Date();
const year = date.getFullYear().toString().padStart(4, "0");
const month = (date.getMonth() + 1).toString().padStart(2, "0");
const day = date.getDate().toString().padStart(2, "0");
const hour = date.getHours().toString().padStart(2, "0");
const minute = date.getMinutes().toString().padStart(2, "0");
const second = date.getSeconds().toString().padStart(2, "0");
console.log(`${year}-${month}-${day} ${hour}:${minute}:${second}`); //2024-07-13 14:13:11
运行结果:
实际遇到的是需要把当前时间以数字形式展现出来,下面是我的格式化代码
const date = new Date();
var d=date.toLocaleTimeString().replaceAll(":", "");
//防止出现071234 这种情况
d=Number(d)
console.log(d)
运行结果:
第三方库
有很多第三方库可以用来格式化日期时间,最常用的主要为 Moment.js
。
1. 安装Moment.js
npm install moment
2.导入
import moment from 'moment';
3格式化
moment().format('MMMM Do YYYY, h:mm:ss a'); // 七月 13日 2024, 2:31:07 下午
moment().format('dddd'); // 星期六
moment().format("MMM Do YY"); // 7月 13日 24
moment().format('YYYY [escaped] YYYY'); // 2024 escaped 2024
moment().format();
详细使用教程可以去官网:Moment.js 中文网 (momentjs.cn)