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 相关文章推荐
Jquery 组合form元素为json格式,asp.net反序列化
Jul 09 Javascript
js 利用className得到对象的实现代码
Nov 15 Javascript
Javascript图像处理思路及实现代码
Dec 25 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
Sep 02 Javascript
checkbox勾选判断代码分析
Jun 11 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
javascript发送短信验证码实现代码
Nov 12 Javascript
jQuery实现的网格线绘制方法
Jun 20 Javascript
jQuery实现拖动剪裁图片作为头像
Dec 28 Javascript
React Native使用fetch实现图片上传的示例代码
Mar 07 Javascript
jQuery-ui插件sortable实现自由拖动排序
Dec 01 jQuery
使用eslint和githooks统一前端风格的技巧
Jul 29 Javascript
JavaScript中isPrototypeOf函数
JavaScript原型链详解
JavaScript组合继承详解
详细聊聊vue中组件的props属性
教你一步步实现一个简易promise
Nov 02 #Javascript
一定要知道的 25 个 Vue 技巧
原型和原型链 prototype和proto的区别详情
Nov 02 #Javascript
You might like
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
基于jQuery的日期选择控件
2009/10/27 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
js 上传图片预览问题
2010/12/06 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
利用nodejs监控文件变化并使用sftp上传到服务器
2017/02/18 NodeJs
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
Python网络爬虫出现乱码问题的解决方法
2017/01/05 Python
python基本语法练习实例
2017/09/19 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
Python之——生成动态路由轨迹图的实例
2019/11/22 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
Weblogic的布署方式
2013/08/23 面试题
高级Java程序员面试要点
2013/08/02 面试题
小学数学教学经验交流材料
2014/05/22 职场文书
语文教育专业求职信
2014/06/28 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
2014年团支书工作总结
2014/11/14 职场文书
2014年酒店前台工作总结
2014/11/14 职场文书
离婚案件原告代理词
2015/05/23 职场文书
运动会新闻报道稿
2015/07/22 职场文书
同事欢送会致辞
2015/07/31 职场文书
市级三好生竞选稿
2015/11/21 职场文书
会议主持词通用版
2019/04/02 职场文书
Python Matplotlib库实现画局部图
2021/11/17 Python
PyTorch中的torch.cat简单介绍
2022/03/17 Python
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技
MySQL 原理与优化之Update 优化
2022/08/14 MySQL