JS日期与字符串相互转换(时间格式化YYYY-MM-DD,Dayjs的使用)

本文介绍了如何使用JavaScript原生函数和Dayjs库进行日期与字符串之间的转换。首先展示了如何手动封装日期转字符串和字符串转日期的函数,接着详细讲解了Dayjs的安装和使用,以及如何利用Dayjs进行日期格式化,提供了多种时间格式的示例。
摘要由CSDN通过智能技术生成

相关文章调用

文章内容文章链接
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进行时间转换

在这里插入图片描述
更多占位符

输入例子详情
YY01两位数的年份
YYYY2001四位数的年份
M1-12四位数的年份
MM01-12月份,从1开始
MMMJan-Dec缩写的月份名称
MMMMJanuary-December完整的月份名称
D1-31月份里的一天
DD01-31月份里的一天 ,两位数
H0-23小时
HH0-23小时,两位数
h1-12小时,12小时制
hh01-12小时,12小时制,两位数
m0-59分钟
mm00-59分钟,两位数
s0-59
ss00-59秒 两位数
S0-9毫秒,一位数
SS00-99毫秒,两位数
SSS000-999毫秒,三位数
AAM PM上午 下午 大写
aam pm上午 下午 小写

在这里插入图片描述


感兴趣的小伙伴可以订阅本专栏,方便后续了解学习~
觉得这篇文章有用的小伙伴们可以点赞➕收藏➕关注哦~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dorable_Wander

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值