H5 iOS浏览器Safari/IE浏览器不认识日期格式"-"与“T“,“2019-11-22T:10:00:00”这个格式需要转换处理

最近做一个h5时间段展示界面,需要将日期格式转为毫秒进行处理,本人用的Android手机与google浏览器调试,一切显示正常,但是当同事用苹果手机测试的时候发现显示不出来,于是调试了一下发现所有日期转出来的毫秒值都是0.问了万能的度娘后发现已经有同僚遇到过此类问题了

就是Safari不认识“2019-11-22”这个格式,认识“2019/11/22”这种日期格式(同事说IE浏览器也是这样),于是我也将我的日期格式(“2019-11-22”)转了一下,

但是发现还不行,因为我们后台返回的时间格式是“2019-11-22T10:00:00”,我想会不会是“T”也不认识,于是尝试将“T”替换成空格,保存,测试,一切正常了。

在此记录一下,希望有遇到类似情况的同僚能更快的处理同类问题。时间转毫秒值修改后方法如下:

/**将日期字符串转为毫秒值
	 * @param {Object} dateStr 
	 */
	this.getTimeByDateStr=function(dateStr){
		var t=0;
		try{
			//将日期2019-11-22T10:00:00格式转为2019/11/22 10:00:00
		var dstr=dateStr.toString().replace(/-/g,'/').replace(/T/gi," ");
			t=new Date(dstr).getTime();
		}catch(e){
			//TODO handle the exception
		}
		
		return t;
	}

顺便提一下:.replace(/-/g,'/').replace(/T/gi," "),这里的:

1.replace(/-/g,'/'),/-/g是正则表达式,两个/中间的‘-’是要替换的内容,g是替换数据中所有的‘-’,global的意思;

2.replace(/T/gi," "),表示将数据中所有T替换为空格,i是不区分大小写,ignore的意思;

3.正则表达式标志,如g,i,m等可以单独使用,也可以组合使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值