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