描述
最近在使用原生js开发移动端网站时——获取时间的时间戳
该问题主要是对iOS系统
将时间戳作为判断条件显示对应内容,在pc端以及安卓上都没有问题,内容能够正常显示,但是通过Ios移动设备时就是无法显示。
问题
在pc端上对获取的时间戳进行打印:
通过vConsole 在苹果真机设备上打印结果:
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” 的格式字符串,那么它同样可以解析成功,因为这种格式允许使用反斜杠作为分隔符。
有不对之处,请指正,大家共勉!