Skip to content
Inspire - Capo Productions

日期 Date 兼容性

一般 直接 new Date() 是不会出现兼容性问题的,而 new Date(datetimeformatstring) 常常会出现浏览器兼容性问题,为什么,datetimeformatstring 中的某些格式浏览器不兼容。

1 无参数

var dateTime = new Date() 所有浏览器都兼容

2 日期参数

2.1 参数为 yyyy-MM-dd

js
const dateTime = new Date('2019-05-18')
  • IE9- 不兼容,IE9+(包含IE9) 兼容
  • 火狐、谷歌兼容

2.2 参数为 yyyy/MM/dd

js
const dateTime = new Date('2019/05/18')

所有浏览都兼容

3 日期时间参数

3.1 参数为yyyy-MM-dd hh:mm:ss

js
const dateTime = new Date('2019-05-18 13:41:00')
  • IE 不管哪个版本,都不兼容
  • 火狐 不兼容
  • 谷歌 兼容

3.2 参数为 yyyy/MM/dd hh:mm:ss

所有浏览都兼容

综上,所有主流浏览器都支持的格式为:

js
const dateTime = new Date('2017/09/12')
js
const dateTime = new Date('2017/09/12 13:42:00')

那么解决方案就是 将 datetimeformatstring 转换成 yyyy/MM/ddyyyy/MM/dd hh:mm:ss 格式化字符串即可,如:

js
const time = '2016-07-20 12:21:12'
const timestart = new Date(time.replace(/-/g, '/'))
js
const s = '2019-05-16'
const s1 = '2019/05/16'
console.log(new Date(s)) // Thu May 16 2019 08:00:00 GMT+0800 (中国标准时间),注意这里是8点
console.log(new Date(s1)) // Thu May 16 2019 00:00:00 GMT+0800 (中国标准时间), 注意这里是0点

布局切换

调整 VitePress 的布局样式,以适配不同的阅读习惯和屏幕环境。

全部展开
使侧边栏和内容区域占据整个屏幕的全部宽度。
全部展开,但侧边栏宽度可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
全部展开,且侧边栏和内容区域宽度均可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
原始宽度
原始的 VitePress 默认布局宽度

页面最大宽度

调整 VitePress 布局中页面的宽度,以适配不同的阅读习惯和屏幕环境。

调整页面最大宽度
一个可调整的滑块,用于选择和自定义页面最大宽度。

内容最大宽度

调整 VitePress 布局中内容区域的宽度,以适配不同的阅读习惯和屏幕环境。

调整内容最大宽度
一个可调整的滑块,用于选择和自定义内容最大宽度。

聚光灯

支持在正文中高亮当前鼠标悬停的行和元素,以优化阅读和专注困难的用户的阅读体验。

ON开启
开启聚光灯。
OFF关闭
关闭聚光灯。