记录一次移动端H5页面在ios浏览器时间显示NAN问题

记录一次移动端H5页面在ios浏览器时间显示NAN问题

在这里插入图片描述

我所用的时间格式化函数如下:

function formatDateYMD (timeStr) {
    let Itemtime = new Date(timeStr);
    let year = Itemtime.getFullYear();
    let mouth = Itemtime.getMonth() + 1;
    let day = Itemtime.getDate();
    if (mouth < 10) mouth = "0" + mouth;
    if (day < 10) day = "0" + day;
    return year + '-'+ mouth + '-'+ day;
}

后端返回的时间字符串

time:"2019-09-29T07:10:59.000+0000"

chrome浏览器(pc)、安卓浏览器均正常处理解析为"2019-11-29",但是用iphone 手机浏览器查看却是上图右边手机显示结果,好奇怪是不是。。。

上万能的百度查询之后发现

原来在日期的处理方式两个系统是有所区别的
ios端是以"/“做分割的,而我们常用的都是以”-"分割,所以导致ios下时间解析不了就变成NAN了

总结解决办法

让后端同学传时间戳,前端再格式化就行了

移动端页面获取授权需要使用HTML5新增的API:Geolocation API、Camera API、Contacts API和Calendar API。 1. Geolocation API:用于获取用户的地理位置信息。使用方法如下: ```javascript if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { var lat = position.coords.latitude; var lng = position.coords.longitude; // 获取位置信息成功 }, function(error) { // 获取位置信息失败 }); } else { // 不支持获取位置信息 } ``` 2. Camera API:用于访问设备的摄像头。使用方法如下: ```javascript navigator.mediaDevices.getUserMedia({ video: true, audio: true }) .then(function(stream) { // 获取摄像头成功 }) .catch(function(error) { // 获取摄像头失败 }); ``` 3. Contacts API:用于获取设备上的联系人信息。使用方法如下: ```javascript if (navigator.contacts) { navigator.contacts.find(["*"], function(contacts) { // 获取联系人信息成功 }, function(error) { // 获取联系人信息失败 }); } else { // 不支持获取联系人信息 } ``` 4. Calendar API:用于访问设备上的日历信息。使用方法如下: ```javascript if (window.calendar) { window.calendar.listEvents(function(events) { // 获取日历信息成功 }, function(error) { // 获取日历信息失败 }); } else { // 不支持获取日历信息 } ``` 需要注意的是,获取授权可能会影响用户的隐私,因此需要在页面中说明需要获取哪些授权,以及获取授权的目的和用途。同时,对于不支持这些API的设备,需要给出相应的提示或备选方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值