原生js 获取时间戳返回NaN

描述

最近在使用原生js开发移动端网站时——获取时间的时间戳
该问题主要是对iOS系统
将时间戳作为判断条件显示对应内容,在pc端以及安卓上都没有问题,内容能够正常显示,但是通过Ios移动设备时就是无法显示。

问题

在pc端上对获取的时间戳进行打印:
pc端
通过vConsole 在苹果真机设备上打印结果:
iOS获取时间戳
tips: 通过电脑上的模拟真机测试打印出的结果依旧正常

解决

将日期格式化为 yyyy-MM-dd 或者 yyyy/MM/dd

或者,可以在拼接年月日时直接使用 " / " ,这种方式即使不格式化也可以解析。

这时通过pc、安卓以及苹果都可以正常解析:
在这里插入图片描述
在这里插入图片描述

原因

在iOS中,时间戳通常基于Unix时间戳格式,即从1970年1月1日(UTC)到当前时间的秒数。在Swift中,我们通常会使用Date类来处理日期和时间。在处理日期字符串时,DateFormatter类用于解析日期格式。不同的日期格式字符串可能导致解析失败或成功。

对于日期字符串"2024-7-25",DateFormatter默认使用 “yyyy-MM-dd” 的格式字符串,即年-月-日格式。对于日期字符串"2024/7/25",如果DateFormatter使用的是与这个格式匹配的格式字符串,那么它应该可以解析成功。如果DateFormatter使用的是 “yyyy/MM/dd” 的格式字符串,那么它同样可以解析成功,因为这种格式允许使用反斜杠作为分隔符。

有不对之处,请指正,大家共勉!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值