Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Javsascript日期、选择器和时区_Javascript_Datepicker - Fatal编程技术网

Javascript Javsascript日期、选择器和时区

Javascript Javsascript日期、选择器和时区,javascript,datepicker,Javascript,Datepicker,在处理日期选择器中选择的时区和日期时,我经历了一段非常艰难的时间。我说的是一个场景,我们对时间成分不感兴趣,比如出生日期 那里的大多数约会选择者都有同样的问题。Javascript日期对象支持它们。即使您的日期是UTC,Javascript日期也是区域性的,这取决于加载站点的浏览器 事实上,出生日期与时区无关。它是恒定的。因此,当用户选择出生日期,而前一天是实际发送到服务器的日期时,这是非常令人反感的。我差点把婴儿和洗澡水扔了出去,然后用字符串输入文本。那是防弹的 我离题了。我在好几个地方看到的

在处理日期选择器中选择的时区和日期时,我经历了一段非常艰难的时间。我说的是一个场景,我们对时间成分不感兴趣,比如出生日期

那里的大多数约会选择者都有同样的问题。Javascript日期对象支持它们。即使您的日期是UTC,Javascript日期也是区域性的,这取决于加载站点的浏览器

事实上,出生日期与时区无关。它是恒定的。因此,当用户选择出生日期,而前一天是实际发送到服务器的日期时,这是非常令人反感的。我差点把婴儿和洗澡水扔了出去,然后用字符串输入文本。那是防弹的

我离题了。我在好几个地方看到的一个解决方案对我们来说并不可靠,就是这样的代码

persons[i].BirthDate = persons[i].BirthDate.replace(/\d+/,
        function (n) { return parseInt(n) + new Date().getTimezoneOffset() * 60000; }
我很好奇。为什么是6万

我也看到了这一点:

//Deal with dates in milliseconds for most accuracy
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
newDateWithOffset = new Date(utc + (3600000*offset));
其中偏移量类似于“+10”。3600000是多少

在投入生产之前,我想知道这些东西是做什么的。也许他们不为我们工作的原因是我们没有正确理解他们,并且没有在其他地方(例如服务器)进行相应的补偿


谢谢。

getTime以毫秒为单位传递时间,getTimezoneOffset以分钟为单位传递时间。因此,一分钟是60秒或60.000毫秒。
3.600.000毫秒=3.600秒=60分钟=1小时,因此报价以小时为单位。

可能重复感谢。在第一个代码段中,向解析的日期添加分钟数有什么意义?这是要把它带回UTC吗?还是从UTC到地区时间?我想我对它从和转换成什么感到困惑。getTimezoneOffset方法返回UTC时间和本地时间之间的时间差,单位为分钟。例如,如果您的时区是GMT+2,则将返回-120。因此,这个函数将把您带到UTC。所有这一切的危险之处在于,GMT偏移量与我所在城市的UTC偏移量不同。因此,该函数不起作用,返回UTC后1小时。约会并不容易。