简介
一些关于时间的获取方法
具体实现
- 以下是获取时间中部分内容的方法
js">let time = new Date();
time.getYear(); //获取当前年份
time.getFullYear(); //获取完整的年份(4位,1970-???)
time.getMonth(); //获取当前月份(0-11,0代表1月)
time.getDate(); //获取当前日(1-31)
time.getDay(); //获取当前星期X(0-6,0代表星期天)
time.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
time.getHours(); //获取当前小时数(0-23)
time.getMinutes(); //获取当前分钟数(0-59)
time.getSeconds(); //获取当前秒数(0-59)
time.getMilliseconds(); //获取当前毫秒数(0-999)
time.toLocaleDateString(); //获取当前日期
time.toLocaleTimeString(); //获取当前时间
time.toLocaleString( ); //获取日期与时间
以下是打印出来的结果
121
2021
8
29
3
1632900265327
15
24
25
327
2021/9/29
下午3:24:25
2021/9/29 下午3:24:25
2.获取指定日期的前一天 ,注意IOS中,最好把 ‘-’ 转换为 ‘/’
js">原生JS:
// 方法1
date 代表指定的日期,格式:2018-09-27
d 传-1表始前一天,传1表始后一天
getNextDate(date,day);
function getNextDate(date,day) {
var dd = new Date(date);
dd.setDate(dd.getDate() + day);
var y = dd.getFullYear();
var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
return y + "-" + m + "-" + d;
};
// 方法 2
getLastDayFun(date) {
date = new Date(date);
date = +d - 1000 * 60 * 60 * 24;
date = new Date(date);// 格式化
let m = date.getMonth() + 1;
m = m < 10 ? ("0" + m) : m;
let day = date.getDate();
day = day < 10 ? ("0" + day) : day;
}
// 方法3 简化版
new Date(new Date().getTime() - 86400000)
- 把时间格式转换为 yyyy/MM/dd h: m: s
注意:为什么是yyyy不是YYYY?
y:year-of-era;正正经经的年,即元旦过后;Y:week-based-year;只要本周跨年,那么这周就算入下一年;就比如说今年(2019-2020) 12.31 这一周是跨年的一周,而 12.31 是周二,那使用 YYYY 的话会显示 2020,使用 yyyy 则会从 1.1 才开始算是 2020
js"> let newD = ("2014-01-01 10:15:00").replace(/-/g,"/");
- 对时间进行格式化的函数封装
js">// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
handleTime() {
let time = new Date();
let dateTime = this.formateDateTime(time, 'yyyy-MM-dd');
console.log(dateTime); // 2021-09-29
let dateTime2 = this.formateDateTime(time, 'yyyy-MM-dd hh:mm:ss');
console.log(dateTime2); // 2021-09-29 15:34:22
},
formateDateTime(time, fmt) {
let o = {
'M+': time.getMonth() + 1, // 月份
'd+': time.getDate(), // 日
'h+': time.getHours(), // 小时
'm+': time.getMinutes(), // 分
's+': time.getSeconds(), // 秒
'q+': Math.floor((time.getMonth() + 3) / 3), // 季度
S: time.getMilliseconds(), // 毫秒
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (time.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp('(' + k + ')').test(fmt))
fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
}
return fmt;
},
最后
觉得有用的朋友请用你的金手指点一下赞,或者评论留言一起探讨技术!