toLocalDateString的用途
toLocaleDateString
toLocaleDateString
方法返回该日期对象日期部分的字符串,该字符串格式因不同语言而不同。新增的参数 locales 和 options 使程序能够指定使用哪种语言格式化规则,允许定制该方法的表现(behavior)。
在旧版本浏览器中, locales 和 options 参数被忽略,使用的语言环境和返回的字符串格式是各自独立实现的
Date.prototype.toLocaleDateString()
Date
Date 实例转为表示本地时间的字符串,有常见三种方法
- Date.prototype.toLocaleString():完整的本地时间。
- Date.prototype.toLocaleDateString():本地日期(不含小时、分和秒)。
- Date.prototype.toLocaleTimeString():本地时间(不含年月日)
new Date().toLocaleTimeString() // "下午12:26:15"
new Date().toLocaleDateString() // "2020/10/18"
new Date().toLocaleString() // "2020/10/18 下午12:26:24"
这三个方法都有两个可选的参数
new Date().toLocaleString([locales[, options]])
new Date().toLocaleDateString([locales[, options]])
new Date().toLocaleTimeString([locales[, options]])
这两个参数中,locales是一个指定所用语言的字符串,options是一个配置对象
如何使用
我是在Vue环境中使用的
显示日期
<p>{{formatDate('2020/10/18')}}</p>
结果: 2020年10月18日
formatDate(date) {
const options = { year: 'numeric', month: 'long', day: 'numeric' }
return new Date(date).toLocaleDateString('zh-CN', options)
}
显示星期
<p>{{formatDate('2020/10/18')}}</p>
结果: 2020年10月18日星期日
formatDate(date) {
const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }
return new Date(date).toLocaleDateString('zh-CN', options)
}
不同地区语言
<p>{{formatDate('2020/10/18')}}</p>
结果: Sunday, October 18, 2020
formatDate(date) {
const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }
return new Date(date).toLocaleDateString('en-US', options)
}
参数options
- dateStyle:可能的值为full、long、medium、short。
- timeStyle:可能的值为full、long、medium、short。
- month:可能的值为numeric、2-digit、long、short、narrow。
- year:可能的值为numeric、2-digit。
- weekday:可能的值为long、short、narrow。
- day、hour、minute、second:可能的值为numeric、2-digit。
- timeZone:可能的值为 IANA 的时区数据库。
- timeZooneName:可能的值为long、short。
- hour12:24小时周期还是12小时周期,可能的值为true、false
列子
new Date().toLocaleDateString('zh-CN', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
})
// "2020年10月18日星期日"
new Date().toLocaleTimeString('zh-CN', {
timeZone: 'Asia/Shanghai',
hour12: false,
timeZoneName: 'long'
})
// "中国标准时间 12:20:18"
new Date().toLocaleTimeString('zh-CN', {
timeZone: 'Asia/Shanghai',
hour12: true,
day: 'numeric'
})
// "18日 下午12:21:29"
扩展一下
分割
在Number的原型上也有这个方法toLocaleString
,即 Number.prototype.toLocaleString()
const price = 12345678;
price.toLocaleString(); // => "12,345,678"
显示不同单位
currency 单位列表,查看
var price = 2499;
price.toLocaleString('zh-CN', {
style: 'currency',
currency: 'RMB'
});
// "RMB 2,499.00"
var price = 2499;
price.toLocaleString('zh-CN', {
style: 'currency',
currency: 'USD'
});
// "US$2,499.00"
控制小数位
var price = 2499;
price.toLocaleString('zh-CN', {
style: 'currency',
currency: 'KNS',
minimumFractionDigits:3
});
// "KNS 2,499.000"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探