getDate()返回日期不一致问题引发的bug

问题描述

最近在webapp的开发中遇到一个Date对象中getDate获取日期的兼容性问题,Date对象的getDate方法返回的日期和传入的日期不一致,例如:

在android 4.3以下版本,getDate返回的日期会有一天的偏差

    var d = new Date('1987/04/12');d.getDate(); // 目标是返回12,但部分机型会返回11

问题排查

经过一番折腾Google搜索查找资料,初步认为是以下两个问题导致:

1、Date对象初始化兼容性问题

Date对象初始化有以下几种方式:

new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);

其中,第三种方式是通过日期字符串进行初始化,这个日期字符串必须符合Date.parse()的合法日期格式。

    new Date('2016-09-25'); // 这种格式无法被所有浏览器识别,存在兼容性问题 new Date('2016/09/25'); // 基于'/'格式的日期字符串,被各个浏览器所广泛支持的

2、getDate受时区影响问题

在使用测试机进行调试的时候,把时区改变会导致取值有问题,目前还确定是什么问题。
详见getDate返回错误日期

更多阅读

getDate返回错误日期
Date对象详解
Date.parse()详解
JS原生Date类型方法的一些冷知识
http://stackoverflow.com/questions/4371252/javascript-getdate-problem?rq=1

转载于:https://www.cnblogs.com/GeniusLyzh/p/5906305.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430076.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM垃圾回收机制学习

一、可回收对象判定方法 识别方式有两种。一是,引用计数算法;二是,可达性分析。 第一种方法:引用计数算法。当一个对象被引用时,引用计数器加1,当引用失效时,引用计数器减1。当一个对象的引用…

draw python_科学网—Draw figures with Python - 高琳琳的博文

2D histgramimport matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties# %matplotlib inline #Jupyter notebook在线显示plt.bar([NC], [0.6], width0.6, facecolor#FA8072, label真实值)plt.bar([MCI, AD], [0.25, 0.15], width0.6, facecolor…

C#链接mysql 新手容易出错的问题

1.Access denied for user rootDESKTOP-AN72KEI (using password: YES) 出现这个问题的原因是因为mysql的自带用户root理论上是不允许对外访问的,只能本地访问,如果需要访问该用户,需要修改一些mysql的配置文件,最好是使用自己新建…

JVM堆溢出实例

堆溢出条件 要观察堆溢出,要同时满足两个条件: 堆大小固定,不可扩展不断创建对象,并保持对象不被回收 因为对象是在堆里面创建的,堆大小一定,一直创建对象就可以消耗完堆空间,同时&#xff0…

python 不确定度_python机器学习-chapter2_16

•分类器的不确定度决策函数(decision_function):二分类:返回类型为(n_samples, ),为每个样本返回一个浮点数,这个浮点数的正负号代表了预测的分类,值的大小代表了置信度。多分类:返回类型为(n_samples, n_…

Java NIO学习

概述 NIO是一种基于缓存的、非阻塞的异步IO。NIO主要涉及到三个概念:Buffer(缓存),Channel(通道),Selector(选择器)。NIO和传统IO不同在于:NIO是基于缓存的&…

python的convert_python编程开发之类型转换convert实例分析

本文实例讲述了python编程开发之类型转换convert。分享给大家供大家参考,具体如下:在python的开发过程中,难免会遇到类型转换,这里给出常见的类型转换demo:int(x [,base ]) 将x转换为一个整数long(x [,base ])…

CSS3 pointer-events的应用

CSS3定义的pointer-events属性可以改变点击元素默认触发的事件 禁用a标签触发点击事件 使用pointer-events:none可以达到禁止点击的效果。我们都知道input标签有disable属性,但是其它标签没有,而很多时候,我们都是用a标签来做按…

TCP笔记

TCP笔记 概念 MTU:maximum transmission unit最大传输单元 每种网络都不一样,以太网是1500。最小46字节。当数据块大于MTU时,将在发送端IP层进行分片,接收端IP层进行重组。IP分组在网络中传输中出现丢包时,由于IP层没有…

微信语音怎么转发给别人听_微信分付怎么邀请别人 微信分付如何才能被邀请开通...

阅读本文前,请您先点击上面蓝色字体,再点关 注这样您就可以继续免费收到文章了,每天都有分享,完全是“免费订阅”,请放心关注注:本文转载自网络,如有侵权,请在后台留言联系我们进行删…

Javascript事件委托

Javascript事件通过冒泡传递,事件最初发生在某个元素,然后传递给该元素的父元素,父元素再传给父元素,如此一级一级往上传递。如果事件发生的元素不处理事件,而是让事件传递到祖先元素,让祖先元素处理&#…

Cmd Markdown 简明语法手册

转自地址: https://www.zybuluo.com/mdeditor?urlhttps://www.zybuluo.com/static/editor/md-help.markdown『Cmd 技术渲染的沙箱页面,点击此处编写自己的文档』Cmd Markdown 简明语法手册 Cmd-Markdown 1. 斜体和粗体 使用 * 和 ** 表示斜体和粗体。 示…

python函数拟合编程_Python应用实现双指数函数及拟合代码实例

双指数函数待拟合曲线为 y(x) bepx ceqximport matplotlib.pyplot as pltx ([0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5,0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0])y ([0.33, 0.26, 0.18, 0.16, 0.12, 0.09, 0.08, 0.07, 0.06, 0.06,0.06, 0.…

ThreeJS 开发实例

形状和材质 虚线 画虚线: function DrawDashLine(){var geometry new THREE.Geometry();/*** vertexColors: false 关闭使用点颜色来生成线的颜色,这个值默认是false,如果设置为true,那么后面设置的color将不起作用* dashSize…

【poj3070】Fibonacci

矩乘快速幂入门 题目已经把题解讲得很清楚了 1 #include<cstdio>2 #include<cstring>3 #include<cassert>4 #include<algorithm>5 using namespace std;6 #define p 100007 #define N 108 #define ll long long9 struct matrix{ 10 int n,m; 11 …

调用线程必须为sta_Java手写分布式系统远程调用RPC框架

一、RPC简介最近看hadoop底层通信&#xff0c;都是通过RPC实现的。RPC(Remote Procedure Call Protocol)远程调用&#xff1a; 远程过程调用是一种常用的分布式网络通信协议,它允许运行于 一台计算机的程序调用另一台计算机的子程序&#xff0c;同时将网络的通信细节隐藏起来&a…

ThreeJS阴影

在threejs中&#xff0c;阴影可以定义为“在渲染器支持的情况下&#xff0c;有一个可以产生阴影的光&#xff0c;照射在若干个可以产生阴影的物体上&#xff0c;并在某个可以接受阴影的物体上产生阴影”。所以&#xff0c;要产生阴影&#xff0c;渲染器、光、物体&#xff0c;接…

python2发送http不编码_[转]Python 2.x中常见字符编码和解码方面的错误及其解决办法...

Python 2.x中的字符编码&#xff0c;设计的的确不好&#xff0c;导致初学者&#xff0c;甚至是即使用Python很长时间的人&#xff0c;都会经常遇到字符编解码方面的错误。下面就把一些常见情&#xff0c;尽量的都整理出来&#xff0c;并给出相应的解决办法。看此文之前Python中…

shell总结(0基础入门)

一、简介 shell是用户和操作系统交互的命令行解释器。 shell有很多种&#xff1a; bash、csh、sh、ksh、、、 我们等了linux时看到的命令行就是一个bash。 二、第一个脚本&#xff1a; [rootlinux1 script]# vim first.sh #!/bin/bash#auther:xiaofan#time:2016.10.4#井号是注…

使用webpack打包ES6代码

安装nodejs 根目录下运行 npm init根据提示输入项目相关信息&#xff0c;然后运行&#xff1a; npm install 安装webpack 在项目根目录下运行 npm install webpack --save-dev 安装babel loader 和 转码规则 在根目运行命令&#xff1a; npm install babel-loader --sa…