关于安卓和ios对js Date对象的支持

JavaScript Date对象深度解析:UTC时间轴与时区陷阱 JavaScript中的Date并非日历工具,而是一个基于UTC时间轴的毫秒级时间戳封装。其核心原理是内部仅存储自1970-01-01T00:00:00Z起的毫秒数,所有getXXX方法均为该绝对时刻在不同时区坐标系下的投影。这种设计带来高性能与轻量性,但也导致字符串解析歧义、时区隐式转换、timestamp单位混淆(毫秒/秒)等高频故障。技术价值在于统一时间语义、支撑全球化应用与跨系统协同;典型应用场景包括多时区日程管理、前后端时间数据交换、ECharts等可视化库的时间轴渲染,以及排查java.text 阅读详情

关于安卓和ios对js Date对象的支持

ios中和Safari浏览器中对js Date对象的支持

1.问题情形是这样的,需要在特定的时间显示不同的内容。

解决办法有两种:

1.通过后台获取服务器的时间。

 在返回给前端标志,前端通过模板也好,通过其他方式进行判断也好,显示不同的内容。这个我们不管...

2.通过本地获取系统时间显示不同的内容。

 我采用的就是这种方式,但是这里就出现了问题。附上代码

function setContentWithTime(time){
      var current = new Date(),
          setDate = new Date(time).getTime();
      var curTime = new Date(current.getFullYear()+'-'+(current.getMonth()+1)+'-'+current.getDate()).getTime();
      if(curTime == setDate){
        ...
      }else{
        ...
      }        
} 

setContentWithTime("2015-8-13");

上面这段代码在chrome和ff里面跑都没有问题。但是在safari里面跑就出现了问题。

问题如下:

ok,问题就出现了,在safari里面是无法对形如"xxxx-xx-xx"这种形式的日期进行变换,在safari里面

new Date('2015-8-13');
Invalid Date
后来查找才发现,safari里面能够识别的日期只能是"xxxx/xx/xx" 这种形式的日期,在safari里面
new Date('2015/8/13');
Thu Aug 13 2015 00:00:00 GMT+0800 
3.同理,我们是不是可以想象一下,在ios系统中是不是也存在这样的问题。
经过测试发现这段代码同样存在问题。

4.在那些ios系统中是不支持js 的Date()这种转换的。请大家测试一下,本人知道的是在ios8.4里面仍然存在这个问题。

5.提到这里我们也可以再次查看js Date对象里面的构造方法会发现。其实我们可以采取另外的方法进行new Date;

查资料发现Date的构造函数:new Date() new Date(milliseconds) new Date(datestring) new Date(year, month) new Date(year, month,day) new Date(year, month, day, hours) new Date(year, month, day, hours, minutes) new Date(year,month, day, hours, minutes, seconds) new Date(year, month, day, hours, minutes, seconds,microseconds)
这里需要注意的是:
  • 如果没有任何参数,将返回当前日期
  • 如果参数为一个数字,将数字视为毫秒值,转换为日期
  • 如果参数为一个字符串,将字符串视为日期的字符串表示,转换为日期
  • 还可以使用六个构造函数精确定义,并返回时间

结语:其实是个小问题,但是在做项目的过程中,总是让人头疼,请大家勿喷!!!谢谢!

参考文献:

http://www.w3school.com.cn/jsref/jsref_obj_date.asp

http://blog.sina.com.cn/s/blog_6a0cd5e501011so7.html

http://www.cnblogs.com/keke/p/3372558.html

http://blog.youkuaiyun.com/liu510817387/article/details/8688216


[ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429 [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429 可以使用一些编码字符来制作URI,以访问WEB-INF目录的内容和/或绕过一些安全限制。默认合规模式允许带有包含 %u002e 段的 URI 的请求访问WEB-INF目录中的受保护资源。 阅读详情

相关推荐

异步bus交互(一)— 两级DFF同步器

异步bus交互(一)— 两级DFF同步器 跨时钟域处理 & 亚稳态处理 1.问题产生 现在的芯片(比如SOC,片上系统)集成度和复杂度越来越高,通常一颗芯片上会有许多不同的信号工作在不同的时钟频率下。比如SOC芯片中的CPU通常会工作在一个频率上,总线信号(比如DRAM BUS)会工作在另一个时钟频率下,而普通的信号又会工作在另外的时钟频率下。这3个不同时钟频率下工作的信号往往需要相互沟通和传递信号。 不同时钟域下的信号传递就涉及到跨时钟域信号处理,因为相互之间的频率、相位不一样,如果不做处理或者

qq_44816673的博客 5118

关于在Safari浏览器中对js Date对象的支持

申请博客好几个月了,一直想写一些东西但是总觉着自己写不好,就一直搁浅了。废话不多说,进入正题! ios中和Safari浏览器中对js Date对象的支持 1.问题情形是这样的,需要在特定的时间显示不同的内容。 解决办法有两种: 1.通过后台获取服务器的时间。  在返回给前端标志,前端通过模板也好,通过其他方式进行判断也好,显示不同的内容。这个我们不管... 2.通过本地获取系统时间显...

weixin_30869099的博客 231

【毕设】基于LoRa的物联网控制器:从原理图到PCB的完整硬件设计指南

本文提供了一份完整的基于LoRa的物联网控制器硬件设计指南,涵盖从系统框图、原理图设计到PCB布局布线的全流程。详细讲解了电源电路、单片机最小系统、信号接口以及LoRa无线模块等核心模块的设计要点与抗干扰技巧,并分享了实用的调试心得,旨在帮助电子、物联网专业学生顺利完成毕业设计,掌握低功耗远距离物联网节点的硬件开发实践。

weixin_42126677的博客 306

IOS中UIDatePicker的setDate方法不好使(失效,无法设置date)

将这句代码放到setDate:之前执行datePicker.datePickerMode = UIDatePickerModeDateAndTime;

个人笔记 1526

TSP、MTSP问题遗传算法详细解读及python实现

写在前面 遗传算法是一种求解NPC问题的启发式算法,属于仿生进化算法族的一员。仿生进化算法是受生物行为启发而发明的智能优化算法,往往是人们发现某种生物的个体虽然行为较为简单,但生物集群通过某种原理却能表现出智能行为。于是不同的人研究不同的生物行为原理,受到启发而发明出新的仿生进化算法。比如免疫优化算法,蚁群算法,模拟退火算法等,这些算法以后也会简单介绍。 本文的主题是遗传算法,该算法也是受到生物行为启发。物竞天择,适者生存,优胜劣汰,是该优化算法的核心思想。笔者在业务中需要用到遗传算法求解TSP问题,但是网

weixin_47675950的博客 9305

Debian下Rust环境极速安装指南:国内镜像+避坑配置(附清华/中科大源对比)

本文详细介绍了在Debian系统上快速安装和配置Rust开发环境的完整指南。针对国内网络环境,重点对比评测了清华大学、中国科学技术大学等主流镜像源,提供了详细的安装配置步骤、Cargo优化技巧以及常见问题排查方案,帮助开发者显著提升依赖下载和编译效率。

s8t9u0v1w的博客 1161

js的new Date兼容iOS和Android

  在写一个移动端的报名活动页面时,其中一个逻辑是:过了报名日期,“立即报名”按钮置灰,不允许报名;具体逻辑如下,在真机上测试的时候,Android端可以把按钮失效,iOS则是无法把按钮失效。后台返回的时间格式:yyyy-MM-dd HH:mm:ss。 一、分析   Android端是兼容以下两种日期格式的(yyyy-MM-dd HH:mm:ss、yyyy/MM/dd HH:mm...

weixin_30492047的博客 189

【遥感物候】植被物候与气候(气温和降水)条件的空间相关性分析

植被生长与气候的关系最为密切,通过计算植被各个生长季参数和气温、降水之间的相关系数可以分析生长季参数的变化与气温、降水之间的关系的程度。本文计算30年的植被物候参数和气候数据之间的相关性,最终效果如下: 一、相关性分析原理 植被生长季及其变化是其生长环境中多个影响因子综合作用的耦合过程,其中气候是最重要、最活跃的环境因子。通过计算各个生长季参数和气温、降水之间的相关系数...

智慧空间实验室 8256

js 时间格式化,兼容ios andriod

function formatDate(date, fmt) { if (date == null || date == '' || date == 'undefined') { return ''; } date = date + ''; date = date.replace(/\-/g, "/"); if (date.indexOf('GMT') == -1) { date = date.replace(/\T/g, " ");.

柒柒捌捌。 678

【异常】OpenClaw报错 400 Total tokens of image and text exceed max message tokens. Request

OpenClaw报错400(Token超限)解决方案摘要 该报错因文本/图片总Token数超过模型限额导致,常见于多轮对话累积或单次请求过大。提供三级解决方案: 应急处理:输入"/new"指令清空会话历史,立即重置Token计数(90%问题可解决) 折中方案:保留历史对话前提下,通过精简当前输入、删除早期无关对话或拆分请求来压缩Token 专属处理:单次请求超限时,拆分长文本为2000字以内段落,或分批次上传降低分辨率图片 长期预防建议定期使用"/new"开启新会话,

奶爸的编程之路,也就一周冷个三天 1389

PTP(确时间协议,Precision Time Protocol)时间同步

主时钟定期发送带预估发送时间 t1 的报文(若支持硬件时间戳,实际 t1​ 由后续的Follow_Up报文携带)。所有设备启动后通过协商选举出唯一主时钟(Grandmaster),其余设备自动成为从时钟(Slave)。:从时钟记录接收时间 t2,随后向主时钟发送Delay_Req并记录发送时间 t3​。若使用支持PTP的交换机,可修正报文在交换机内的驻留时间,进一步提升精度。从时钟根据offset调整本地时钟,实现与主时钟同步。动态调整本地时钟,抵消传输延迟和时钟漂移。(或通过BMCA自动当选)。

努力努力努力 1303

js ios和安卓的兼容时间处理

var curDate =new Date(Date()).getTime(); var beginDate = new Date(‘2021 13:41:07’.replace(/\-/g, '/')).getTime(); var endDate = new Date(‘2021 13:41:08’.replace(/\-/g, '/')).getTime(); if (curDate >= beginDate &&am..

Cupid 1561

107.在 Vue 3 中使用 OpenLayers 实现视图联动功能

是一个非常强大的 Web 地图渲染库,支持多种地图数据格式和交互操作。在 Vue 3 中,我们可以利用。绑定到真实的 DOM 元素上,我们就可以用它们来初始化 OpenLayers 地图。来封装和管理 OpenLayers 地图的状态,从而更高效地开发地图应用。,即两个地图窗口共享同一个视图(View),从而实现同步缩放、拖动等操作。这可以确保 Vue 组件销毁时,OpenLayers 也正确销毁地图实例。,并且它们会同步缩放和拖动,达到地图联动的效果。这样,无论你拖动哪个地图,另一个都会同步变化。

小彭的博客 1938

JS的Date对象在Safari与IOS中的兼容问题

JavaScript中的Date对象在Safari与IOS中的“大坑”

冰三尺的Blog 3478

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JavaScript中的Date对象在Safari与IOS中的Invalid Date

当我们用JavaScript实例化一个日期对象时,我们可以这样用: var date =new Date(); 上面这段代码是获取当前日期,这段代码在Firefox、Chrome、Safari浏览器中都可以运行。但是如果我想根据字符串获取日期,问题就来了。看下面代码。 var date =new Date("2016-05-31 08:00"); 这段代码是获得字符中指定的日期,它Fi...

Lv骚年 398

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Js new Date()方法移动端兼容 ios

//直接: let str = '2019-11-09 10:13:21'; // 这种格式 ios不兼容使用new date() >==> NaN str = str.replace(/\-/g, "/"); // 兼容ios '2019/11/09 10:13:21' let iosstr = '2019/11/09 10:13:21'; // 兼容ios写法

weixin_42136202的博客 3175

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

2022-06-30 工作记录--JS-ios的Date对象不支持 yyyy-MM-dd 的格式

JS-ios的Date对象不支持 yyyy-MM-dd 的格式

weixin_48850734的博客 1148

IOS日期处理new Date(‘2021-06-07‘)报Invalid Date

Android 支持,IOS不支持 new Date('2021-06-04 23:59:59') // Android: Fri Jun 04 2021 23:59:59 GMT+0800 (CST) // IOS: Invalid Date Android 支持,IOS支持 new Date('2021/06/04 23:59:59') // Android: Fri Jun 04 2021 23:59:59 GMT+0800 (CST) // IOS: Fri Jun 04 2021 23:59:

日常笔记/总结/系列知识梳理 1142

date ios new 兼容_关于 new Date在ios中出现Invalid Date 的问题

vardatef=newDate("2017-2-2206:23");javaScript 的new Date("xxxx");这短代码在安卓手机上完美显示,但是iphone上返回的是Invalid Date查资料发现:new Date("2017-2-22 06:23") 这种时间格式在ios系统上不支持只能改成new Date("2017/2/22 06:23"),这样的格式。或者这...

weixin_39532352的博客 211

记录一下JS new Date(dateString)在IOS中遇到的坑

date

七十多岁的人了、 1114

javascript根据字符串创建Date对象,在ios和android中行为不一致

以下代码: var date = "1986-09-01"; new Date(date).getTime(); 在android里可以正常运行,在ios里却不行。解决的办法是,将-字符替换为/字符 var birthday = $scope.newMember.birthday;// 2012-1-16 var fixedBirthday = birthday.replace(/-/g,"

kyfxbl 4567

JavaScript Date对象在ios中的坑

最近在做一个微信公众号的投票功能,其中有一个小功能是需要根据活动的报名时间和投票时间进行判断活动状态,报名中进入报名界面,活动中进入投票界面 在这个小功能中遇到了一个js 在ios上的坑——Date 对象的转换 原来的代码中 var aft = new Date(“日期string”)   日期格式是 yyyy-MM-dd hh:mm:ss  然后跟当前获取的时间进行对比 if ((tod

u012003460的博客 808

JavaScript中的Date对象在Safari与IOS中的“大坑”

最近小编在做一个会议室预定的功能,这个功能就像在买电影票时选择座位一样,看看会议室的哪个时间段空闲,有什么设备等等。由于我做的是APP,APP既要兼容Android,又要兼容IOS,刚开始的开发与调试我都是用谷歌浏览器干的,我没有用其它浏览器进行测试,谁知道最后遗留一个很大的隐患。下面是我的界面。  问题一:  这个界面运用了大量的日期类型的计算,当我们用JavaScript实例化

zhoukun@Fly 3万+

h5 ios new Date()得到的是Invalid Date,安卓和别的浏览器得到的是正常的

发现IOS中不支持使用“-”连接日期。

qq_37273844的博客 361

Date对象在Android和IOS上的兼容

之前在公司做过会议室的一个项目,在时间操作上发现一个Android和IOS的兼容问题,看下面的对比图: chrome浏览器上创建一个时间对象 safria浏览器创建一个时间对象 看上面的对比输出即可知道,'2017-08-25'这种写法好像兼容性没那么友好,这也造成了Android机型和IOS机型的兼容问题 解决办法: functio...

weixin_33738982的博客 218

new Date()兼容ios

最近遇到了台历的组件在安卓手机上显示正常,但是苹果手机上根本alert不出值的问题 这个讲的比较细致,然后我就拿过来了~ 带变量的表述   var date =new Date(year+"/"+yue+"/01");(-----这个不是我写的~~)    在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new

u010289111的专栏 891
上一篇: 如何理解javascript执行环境和作用域链?
下一篇: JSON和JSONP的区别
拼搏的小叔
博客等级 码龄10年 56粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值