JS日期与字符串相互转换——JS封装函数,Dayjs转换时间格式
- 相关文章调用
- 场景复现
- 一、JS封装函数
- 1、日期转字符串
- 2、字符串转日期
- 二、 Dayjs转换时间格式
- 1、Dayjs快速安装与使用
- 2、Dayjs格式化日期
相关文章调用
文章内容 | 文章链接 |
---|---|
JS数组对象——根据日期进行排序,按照时间进行升序或降序排序 | https://blog.csdn.net/XSL_HR/article/details/128579840?spm=1001.2014.3001.5501 |
JS日期时间格式化——数字日期转中文日期(封装函数,dayjs转换时间格式) | https://blog.csdn.net/XSL_HR/article/details/128607024?spm=1001.2014.3001.5501 |
场景复现
上期文章我们介绍了如何将2022-12-22转换为二〇二二年十二月二十二日,涉及到日期格式转换成YYYYMMDD格式的问题。本期文章以此为主线,用两种方法带领大家转换时间格式。
一、JS封装函数
首先是传统的封装函数,手写一个日期转字符串的函数并封装使用。
1、日期转字符串
function dateToString (date){
var year = date.getFullYear();
var month =(date.getMonth() + 1).toString();
var day = (date.getDate()).toString();
if (month.length == 1) {
month = "0" + month;
}
if (day.length == 1) {
day = "0" + day;
}
var dateTime = year + "-" + month + "-" + day;
return dateTime;
},
控制台调用打印一下结果:
console.log(dateToString("Wed Jan 04 2023 14:12:56 GMT+0800 (中国标准时间) "))
2、字符串转日期
function stringToDate (dateStr,separator){
if (!separator){
separator= "-" ;
}
var dateArr = dateStr.split(separator);
var year = parseInt(dateArr[0]);
var month;
if (dateArr[1].indexOf( "0" ) == 0){
month = parseInt(dateArr[1].substring(1));
} else {
month = parseInt(dateArr[1]);
}
var day = parseInt(dateArr[2]);
var date = new Date(year,month -1,day);
return date;
}
控制台调用打印一下结果:
console.log(stringToDate("2022-12-22"))
这时,时间格式已经从"2022-12-22"转换成了
“Thu Dec 22 2022 00:00:00 GMT+0800 (中国标准时间)”【不过呢,一般是不会让你把时间转换成这样的。都是要求从日期转化为字符串YYYY-MM-DD格式】
二、 Dayjs转换时间格式
点击前往官方文档
1、Dayjs快速安装与使用
要在Node.js 项目中使用 Day.js,只需使用 npm安装。
npm install dayjs
node.js安装教程这里就不过多叙述了,可以翻看往期文章中的相关教程
然后在项目代码中引入即可:
const dayjs = require('dayjs')
//import dayjs from 'dayjs' // ES 2015
dayjs().format()
2、Dayjs格式化日期
未进行格式转化时:
const nowDate = ref<Dayjs>() // 获取当前时间
console.log(dayjs("当前时间",nowDate.value))
经过时间转换后:
const nowDate = ref<Dayjs>() // 获取当前时间
console.log("当前时间",(dayjs(nowDate.value).format("YYYY-MM-DD")) // dayjs进行时间转换
更多占位符:
输入 | 例子 | 详情 |
---|---|---|
YY | 01 | 两位数的年份 |
YYYY | 2001 | 四位数的年份 |
M | 1-12 | 四位数的年份 |
MM | 01-12 | 月份,从1开始 |
MMM | Jan-Dec | 缩写的月份名称 |
MMMM | January-December | 完整的月份名称 |
D | 1-31 | 月份里的一天 |
DD | 01-31 | 月份里的一天 ,两位数 |
H | 0-23 | 小时 |
HH | 0-23 | 小时,两位数 |
h | 1-12 | 小时,12小时制 |
hh | 01-12 | 小时,12小时制,两位数 |
m | 0-59 | 分钟 |
mm | 00-59 | 分钟,两位数 |
s | 0-59 | 秒 |
ss | 00-59 | 秒 两位数 |
S | 0-9 | 毫秒,一位数 |
SS | 00-99 | 毫秒,两位数 |
SSS | 000-999 | 毫秒,三位数 |
A | AM PM | 上午 下午 大写 |
a | am pm | 上午 下午 小写 |