关于js中的toLocaleDateString()方法
toLocaleDateString()
方法是JavaScriptDate
对象的一个内建方法,它将日期转换为符合特定地区习惯的字符串格式。
基本用法:
如果没有传入任何参数,toLocaleDateString()
会根据浏览器的默认语言环境返回一个日期字符串。
例如:
let date = new Date();
console.log(date.toLocaleDateString()); // 输出形如 "8/25/2023" 的日期,具体格式会根据你的语言环境设置有所不同
参数:
toLocaleDateString()
方法可以接受两个参数:locales
和options
。
-
locales
参数:一个字符串或字符串数组,表示要使用的语言环境。这个参数使用BCP 47语言标签。例如,英语(美国)的标签为"en-US",而中文(中国)的标签为"zh-CN"。 -
options
参数:一个对象,用于定制日期和时间的格式。这个对象可以包含以下属性:
era
: 'narrow', 'short', 'long'year
: 'numeric', '2-digit'month
: 'numeric', '2-digit', 'narrow', 'short', 'long'day
: 'numeric', '2-digit'weekday
: 'narrow', 'short', 'long'hour
: 'numeric', '2-digit'minute
: 'numeric', '2-digit'second
: 'numeric', '2-digit'timeZoneName
: 'short', 'long'
其中,'numeric'表示用数字表示,'2-digit'表示用至少两位数字表示。对于'month'和'weekday',还可以选择'narrow'(最短)、'short'(短)或'long'(长)的文本格式。
例如,如果你想要一个完整的日期字符串(包括星期、月、日和年),你可以这样做:
let date = new Date();
let options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
console.log(date.toLocaleDateString("en-US", options)); // 输出 "Thursday, August 25, 2023"
在这个例子中,我们创建了一个当前日期的Date
对象,然后使用toLocaleDateString()
将其转换为美国英语的日期字符串,格式为"星期,月份 日,年"。
注意:
toLocaleDateString()
的输出可能因浏览器和浏览器版本的不同而略有差异,因为不同的浏览器可能对日期和时间的格式有不同的实现。
使用案例
这里有一些使用toLocaleDateString()
的例子,展示了如何使用不同的locales
和options
参数来改变日期格式:
例子1:使用美国的日期格式
let date = new Date();
let formattedDate = date.toLocaleDateString("en-US"); // "MM/DD/YYYY" 格式
console.log(formattedDate); // 输出 "8/25/2023",假设当前日期是2023年8月25日
例子2:使用英国的日期格式
let date = new Date();
let formattedDate = date.toLocaleDateString("en-GB"); // "DD/MM/YYYY" 格式
console.log(formattedDate); // 输出 "25/08/2023",假设当前日期是2023年8月25日
例子3:使用长格式的日期
let date = new Date();
let options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
let formattedDate = date.toLocaleDateString("en-US", options);
console.log(formattedDate); // 输出 "Friday, August 25, 2023",假设当前日期是2023年8月25日
例子4:使用年和月
let date = new Date();
let options = { year: 'numeric', month: 'long' };
let formattedDate = date.toLocaleDateString("en-US", options);
console.log(formattedDate); // 输出 "August 2023",假设当前日期是2023年8月
例子5:使用日和星期
let date = new Date();
let options = { weekday: 'long', day: 'numeric' };
let formattedDate = date.toLocaleDateString("en-US", options);
console.log(formattedDate); // 输出 "Friday, 25",假设当前日期是8月25日,星期五
例子6:使用指定的ISO 8601格式的日期时间字符串
这个日期是一个ISO 8601格式的日期时间字符串,这是一种国际标准的日期和时间表示方法。下面是这个日期时间字符串的各个部分的含义:
2004-05-03
:这是日期部分,表示2004年5月3日。T
:这是一个分隔符,用来分隔日期和时间部分。17:30:08
:这是时间部分,表示17时30分08秒(24小时制)。+08:00
:这是时区部分,表示这个日期时间是相对于UTC+8时区的。
所以,这个日期时间字符串表示的是2004年5月3日,UTC+8时区的下午5点30分08秒。
const event = new Date('2004-05-03T17:30:08+08:00');
const options = { year: 'numeric', month: 'long', day: 'numeric', hour:'numeric',minute: 'numeric' }
console.log(event.toLocaleDateString('zh-cn', options)); //输出:2004年5月3日 17:30
以上每个例子都展示了如何使用不同的locales
和options
参数来定制toLocaleDateString()
的输出。你可以根据需要混合和匹配这些参数来创建你需要的日期格式。
时间仓促,如有错误欢迎指出,欢迎在评论区讨论,如对您有帮助还请点个推荐、关注支持一下
作者:莫颀
出处:https://www.cnblogs.com/bokemoqi/p/17656900.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
若内容有侵犯您权益的地方,请公告栏处联系本人,本人定积极配合处理解决。