前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js中日期格式化常用方法

js中日期格式化常用方法

作者头像
十里青山
发布2022-08-22 09:41:23
6.2K0
发布2022-08-22 09:41:23
举报
文章被收录于专栏:我的前端之路

任何语言中都会有对时间相关处理的方法,JavaScript中当然也有很多时间相关的方法,但是平时我们用到的很少,像我就是,总是记不住,用到的时候就去搜一下,但是网上推荐的总是类似的文章,有时候就会错过很多好用的方法,今天就来总结一下相关的方法,用的时候再也不愁了。

日期格式化

toLocaleDateString()

toLocaleDateString() 是我个人很喜欢的一种日期格式化的方法,原因就是他很方便我们无须像传统方法那样,单个的获取年月日,然后拼接起来。

代码语言:javascript
复制
let time = new Date()
time.toLocaleDateString() // "2021/8/22"

但是遗憾的是,这一方法在各浏览器上的表现可能有所不同,我这里没有测试,如果只用某个浏览器的话,可以使用此方法。

toTimeString()

这个方法与上面的方法相对应,上面的方法是获取日期的,这个是获取时间的

代码语言:javascript
复制
let time = new Date()
time.toTimeString() // "23:53:58 GMT+0800 (中国标准时间)"
toLocaleString()

还有一个二合一的,获取日期与时间

代码语言:javascript
复制
let time = new Date()
time.toLocaleString() // "2021/8/22 上午11:55:26"
time.toLocaleString('chinese',{ hour12: false }) // 24小时制
传统方法

这里也记录一下传统方法获取日期时间方法

代码语言:javascript
复制
function getNowFormatDate() {
  var date = new Date();
  var seperator1 = "-";
  var year = date.getFullYear();
  var month = date.getMonth() + 1;
  var strDate = date.getDate();
  if (month >= 1 &amp;&amp; month <= 9) {
    month = "0" + month;
  }
  if (strDate >= 0 &amp;&amp; strDate <= 9) {
    strDate = "0" + strDate;
  }
  var currentdate = year + seperator1 + month + seperator1 + strDate;
  return currentdate;
}

兼容性问题

这里记录一下一个兼容问题,有时候后端返回时间可能会返回这样的格式2021-08-09 18:00:00,然后如果我们需要获取到想对应的时间格式的时候,就会用到下面的方法

代码语言:javascript
复制
new Date('2021-08-09 18:00:00')

但是我在用的时候就发现了一个兼容性的问题,在Windows平台上,上面的方法会正常运行,但是在Mac系统的safari浏览器上,会出现问题

代码语言:javascript
复制
// safari
new Date('2021-08-09 18:00:00') // -> Invalid Date

苹果手机上会不会出现相关问题我没有尝试,不过猜测可能会有一样的表现,那是因为Safari浏览器并不支持这样的时间格式,我们需要将上面的时间格式转换为202/08/09 18:00:00

代码语言:javascript
复制
let time = '2021-08-09 18:00:00'
time = time.replace(/-/g, '/')
console.log(new Date(time)) // -> Mon Aug 09 0202 18:00:00 GMT+0800 (CST) = $3
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 日期格式化
    • toLocaleDateString()
      • toTimeString()
        • toLocaleString()
          • 传统方法
          • 兼容性问题
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档