現(xiàn)象:在微信開發(fā)工具測試時(shí)間顯示正常疹味、真機(jī)測試時(shí)間顯示正常仅叫。安卓手機(jī)測試時(shí)間顯示正常、開發(fā)工具連接iOS手機(jī)測試時(shí)間顯示正常糙捺。
體驗(yàn)版中诫咱,iOS手機(jī)測試時(shí)間顯示NaN。
原因:當(dāng)進(jìn)行網(wǎng)絡(luò)請求的時(shí)候洪灯,后端返回日期格式:"2018-05-03"坎缭。iOS手機(jī)或者瀏覽器不支持這種類型的日期格式。
例如:
console.log("2019-10-09 19:42:46")
console.log(Date.parse("2019-10-09 19:42:46"))
console.log(Date.parse("2019-10-09 19:42:46".replace(/-/g,'/')))
ios瀏覽器轉(zhuǎn)化為時(shí)間戳效果如圖:
需要轉(zhuǎn)換日期格式:
const time = "2018-05-03"
time.replace(/\-/g, "/");
console.log(time); 2019/05/03
// 在小程序的工具文件util.js中進(jìn)行封裝
function formatTime(date) {
var time = date==null?"": Date.parse(date.replace(/-/g, '/'));
var date = new Date(time);
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
return [year, month, day].map(formatNumber).join('/');
}
這里為什么將日期轉(zhuǎn)化為時(shí)間戳签钩?
因?yàn)楹蠖朔祷氐闹挥腥掌谔秃簦绻苯訉⑷掌谵D(zhuǎn)換為格式:"2019/05/03",在iOS端時(shí)間還是顯示NaN边臼。