1、获取浏览器语言
let languages = navigator.languages
console.log(languages )
// ['zh-CN', 'en', 'zh']
let language = navigator.language
console.log(language )
// 'zh-CN'
2、获取浏览器时区
let timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone
console.log(timeZone )
// 'Asia/Shanghai'
3、date.toLocaleString
根据本地时间惯例,把 Date 对象转换为一个字符串,表示该日期和时间,具体格式取决于执行环境的地区设置
3.1 默认
let date = new Date();
console.log(date.toLocaleString())
// 2024/8/14 16:07:05
3.2 使用特定的地区设置
let date = new Date();
console.log(date.toLocaleString('en-US'))
// 8/14/2024, 4:10:03 PM
3.3 自定义设置
let date = new Date();
let dateTime=date.toLocaleString('zh-CN', {
year: 'numeric',
month: 'long',
day: 'numeric',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
hour12: false // 使用24小时制
})
console.log(dateTime)
// 2024年8月14日 16:11:31
4、封装一个时间戳转换日期时间的方法
export const convertToDate = (isoString: string) => {
const date = new Date(isoString)
const dateTime= date.toLocaleString(getBrowserLanguage(), {
year: 'numeric',
month: 'numeric',
day: 'numeric',
hour: 'numeric',
minute: 'numeric',
second: 'numeric',
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
hour12: false
})
return dateTime
}
export const getBrowserLanguage = () => {
let language = navigator.languages[0] || navigator.language
if (language.indexOf('en') > -1) {
return 'en-US'; //返回en默认设置美国时间
} else {
return language
}
}