JavaScript中时间格式化新思路toLocaleString()


Posted in Javascript onNovember 07, 2021

研究Object对象的时候,看到了 toLocaleString() 这个方法可以很简单的实现时间格式化。

1、时间格式化常规思路

正常思路是通过Date的实例依次获取年月日等,例如一个简单的格式化例子:

Date.prototype.format = function(dateStr) {
    let date = new Date();
    let year = date.getFullYear();
    let month = date.getMonth() + 1;
    let day = date.getDate().toString().padStart(2, "0");
    let hour = date.getHours();
    let minute = date.getMinutes();
    let second = date.getSeconds();
    dateStr = dateStr.replace("年", year)
        .replace("月", month)
        .replace("日", day)
        .replace("小时", hour)
        .replace("分钟", minute)
        .replace("秒", second);
    return dateStr;
};
 
// 使用上面的方法
console.log(new Date().format("年-月-日")); // 2021-11-04

2、时间格式化toLocaleString()

toLocaleString() toString() 类似,也是返回对象的字符串,不过会根据本地化的执行环境处理。尤其是对时间对象的支持,可以转成一定的格式。

// 日期,输出当前时间
let date = new Date();
// 这个是格林威治时间格式
console.log(date.toString()); // Thu Nov 04 2021 10:11:35 GMT+0800 (中国标准时间)
// 这个是本地时间格式
console.log(date.toLocaleString()); // 2021/11/4 上午10:18:08

新版本浏览器可以支持 locales 和 options 参数:

let date = new Date();
// 24小时制
let options = {
    year: 'numeric', month: 'numeric', day: 'numeric',
    hour: 'numeric', minute: 'numeric', second: 'numeric',
    hour12: false
};
console.log(date.toLocaleString("zh-CN", options)); // 2021/11/4 10:33:01

获取星期几:

let date = new Date();
let options = {
    weekday: "long"
};
console.log(date.toLocaleString("zh-CN", options)); // 星期四

options 更多的参数可以参考文章尾部提供的链接。

缺陷:

如果要显示 x年x月x日 这样的格式,目前没有找合适的写法,相对来讲 toLocaleString() 功能比较局限一些。

到此这篇关于JavaScript中时间格式化新思路toLocaleString()的文章就介绍到这了,更多相关JavaScript toLocaleString()内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript高亮效果的二种实现方法
Sep 14 Javascript
JavaScript 新手24条实用建议[TUTS+]
Jun 21 Javascript
原生JavaScript编写俄罗斯方块
Mar 30 Javascript
四种参数传递的形式——URL,超链接,js,form表单
Jul 24 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
Oct 04 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 Javascript
Vue2组件tree实现无限级树形菜单
Mar 29 Javascript
Vue弹出菜单功能的实现代码
Sep 12 Javascript
微信小程序实现动态列表项的顺序加载动画
Jul 25 Javascript
JS控制GIF图片的停止与显示
Oct 24 Javascript
javascript实现评分功能
Jun 24 Javascript
浅谈实现在线预览PDF的几种解决办法
Aug 10 Javascript
JavaScript中isPrototypeOf函数
JavaScript原型链详解
JavaScript组合继承详解
详细聊聊vue中组件的props属性
教你一步步实现一个简易promise
Nov 02 #Javascript
一定要知道的 25 个 Vue 技巧
原型和原型链 prototype和proto的区别详情
Nov 02 #Javascript
You might like
php数组函数序列之array_search()- 按元素值返回键名
2011/11/04 PHP
php创建sprite
2014/02/11 PHP
PHP创建XML接口示例
2019/07/04 PHP
JavaScript Prototype对象
2009/01/07 Javascript
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
2010/07/06 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
JavaScript动态生成二维码图片
2016/04/20 Javascript
JS实现的样式切换功能tableCSS实例
2016/12/30 Javascript
Node.js的特点详解
2017/02/03 Javascript
node的process以及child_process模块学习笔记
2018/03/06 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
2018/06/25 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
JS PHP字符串截取函数实现原理解析
2020/08/29 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
Python中函数参数调用方式分析
2018/08/09 Python
python实现图书借阅系统
2019/02/20 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
Python中join()函数多种操作代码实例
2020/01/13 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
用python实现一个简单的验证码
2020/12/09 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
给男朋友的道歉信
2014/01/12 职场文书
幼儿教师培训感言
2014/03/08 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
红与黑读书笔记
2015/06/29 职场文书
科普 | 业余无线电知识-波段篇
2022/02/18 无线电