我如何收集访客的时区信息?我需要Timezone,以及GMT抵消时间.
假设您网站的用户输入了日期范围.
2009-1-1 to 2009-1-3
Run Code Online (Sandbox Code Playgroud)
您需要将此日期发送到服务器进行某些处理,但服务器希望所有日期和时间都是UTC.
现在假设用户在阿拉斯加或夏威夷或斐济.由于它们处于与UTC完全不同的时区,因此需要将日期范围转换为如下所示:
2009-1-1T8:00:00 to 2009-1-4T7:59:59
Run Code Online (Sandbox Code Playgroud)
使用JavaScript Date对象,您如何将第一个"本地化"日期范围转换为服务器将理解的内容?
在我的Java Script应用程序中,我将日期存储为如下格式:
2011-09-24
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试使用上面的值来创建一个新的Date对象(所以我可以以不同的格式检索日期)时,日期总会在一天后返回.见下文:
var doo = new Date("2011-09-24");
console.log(doo);
Run Code Online (Sandbox Code Playgroud)
日志:
Fri Sep 23 2011 20:00:00 GMT-0400 (Eastern Daylight Time)
Run Code Online (Sandbox Code Playgroud) 我将特定时区的日期时间作为字符串,我想将其转换为本地时间.但是,我不知道如何在Date对象中设置时区.
例如,Feb 28 2013 7:00 PM ET,我可以
var mydate = new Date();
mydate.setFullYear(2013);
mydate.setMonth(02);
mydate.setDate(28);
mydate.setHours(7);
mydate.setMinutes(00);
Run Code Online (Sandbox Code Playgroud)
据我所知,我可以设置UTC时间或本地时间.但是,我如何在另一个时区设置时间?
我试图使用添加/减去UTC的偏移量,但我不知道如何应对夏令时.我不确定我是否正朝着正确的方向前进.
如何在javascript中将时间从不同的时区转换为当地时间?
这是我需要的一些JS代码:
var secDiff = Math.abs(Math.round((utc_date-this.premiere_date)/1000));
this.years = this.calculateUnit(secDiff,(86400*365));
this.days = this.calculateUnit(secDiff-(this.years*(86400*365)),86400);
this.hours = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)),3600);
this.minutes = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)-(this.hours*3600)),60);
this.seconds = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)-(this.hours*3600)-(this.minutes*60)),1);
Run Code Online (Sandbox Code Playgroud)
我想在之前获得日期时间,但是如果正在使用DST,则日期将关闭1小时.我不知道如何检查DST是否正在使用中.
我如何知道夏令时的开始和结束时间?
我想在JavaScript中解析没有时区的日期.我试过了:
new Date(Date.parse("2005-07-08T00:00:00+0000"));
Run Code Online (Sandbox Code Playgroud)
返回Fri Jul 08 2005 02:00:00 GMT + 0200(欧洲中部夏令时)
new Date(Date.parse("2005-07-08 00:00:00 GMT+0000"));
Run Code Online (Sandbox Code Playgroud)
返回相同的结果
new Date(Date.parse("2005-07-08 00:00:00 GMT-0000"));
Run Code Online (Sandbox Code Playgroud)
返回相同的结果
我想解析一下时间:
没有时区.
不调用构造函数Date.UTC或新日期(年,月,日).
只需简单地将字符串传递给Date构造函数(没有原型方法).
我必须要产品Date对象,而不是String.
日期选择器返回的日期为一天.这是我的代码中的问题还是一个错误?
发送到date_picker的日期是2012-03-21.datepicker返回的日期是2012年3月20日星期二.
var end_date = end_calendar.getFormatedDate("%Y-%m-%d");
end_date = $.datepicker.formatDate('D M dd yy', new Date(end_date));
Run Code Online (Sandbox Code Playgroud) 我有一个倒计时时钟,设定为2014年1月1日上午8点倒计时.
我使用以下代码来设置日期:
var futureDate = new Date(2014, 0, 1, 8, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)
这有效,但我想更进一步,并将其设置为特定的时区.在我的情况下UTC -7.
我已经阅读了这个使用说明的答案:
new Date(Date.UTC(year, month, day, hour, minute, second))
Run Code Online (Sandbox Code Playgroud)
但我感到困惑的是我如何将时区设置为UTC -7,而我在线阅读的内容只会让我更加困惑.
有人可以解释如何Date.UTC工作以及如何设置时区,以便我的倒计时时钟根据指定的时区倒计时?
注意:任何答案必须是仅客户端代码.
我正在使用react / redux开发应用程序,并且我开始使用库react-intl格式化消息和日期。
我已经能够在<FormattedDate>标签中显示其使用的时区。
我想选择所有可能存在的时区,所以当用户选择一个时区时,该<FormattedDate>格式会自动更改。
我找不到如何使用react-intl列出所有可能的时区。
我也在google中搜索过,但没有找到任何内置的javascript函数可以做到这一点。
是那样吗 如何获得该清单?
注意:不要以为是同一个问题,因为如果可能的话,我不想使用外部库,如果这是唯一的解决方案,那么我将不得不采用这种方式...:/
我有一个服务器在unix时间给我的日期:1458619200000
注意:您标记为"重复"的其他问题没有显示如何从UNIX TIME到达那里.我在javascript中寻找一个具体的例子.
但是,我发现根据我的时区,我会得到两个不同的结果:
d = new Date(1458619200000)
Mon Mar 21 2016 21:00:00 GMT-0700 (Pacific Daylight Time)
Run Code Online (Sandbox Code Playgroud)
//现在我将计算机设置为东部时间,我得到了不同的结果.
d = new Date(1458619200000)
Tue Mar 22 2016 00:00:00 GMT-0400 (Eastern Daylight Time)
Run Code Online (Sandbox Code Playgroud)
那么我怎么能显示日期:1458619200000 ...总是在东部时间(3月22日),不管我的电脑的时区是什么?