记录一次safari和chrome浏览器时间格式不兼容的问题

本文探讨了在Web开发中遇到的Safari浏览器时间控件显示失败的问题,原因是Safari与Chrome时间格式不一致。解决方案是编写一个全局函数,根据浏览器类型返回相应格式的时间,以确保在两种浏览器上的兼容性。此外,还展示了如何在调用函数后将时间字符串中的'/'替换为'-',以符合标准日期格式。

问题描述:

需要兼容到mac用户自带的safari浏览器,但是时间控件在safari上显示失败。


原因分析:

safari的时间格式是 2021/7/18
但是chrome浏览器的时间格式是 2021-7-18
所以需要兼容两者的时间格式


解决方案:

1. 写一个全局函数,用来兼容safari和chrome的时间格式。用时间的时候调用这个函数。

function sarifa_window() {
    var explorer =navigator.userAgent ;
    let date = ''
    if(explorer.indexOf("Safari") >= 0){
        console.log('sarifa')
        date = moment(new Date()).format('YYYY/MM/DD HH:mm')
        console.log(date, '-------------')
    } else {
        date = moment(new Date())
    }
    return date
}

2. 调用函数,创建时间

let nowTime = sarifa_window()

3. 传参数的时候一般都是 2021-07-18格式。所以需要把 / 转化为 -

nowTime = nowTime .replace(/\//g, '-'),



方法很多,比如通过getYear,getMonth,getDay,根据项目来吧,选出一个最适合自己的项目才是最优的,即使实现方式不那么优雅。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值