相关疑难解决方法(0)

如何在JavaScript中使用ISO 8601格式化带有时区偏移的日期?

目标:找到local timeUTC time offset以下列格式构建URL.

示例URL:/ Actions/Sleep?duration = 2002-10-10T12:00:00-05:00

格式基于W3C建议:http: //www.w3.org/TR/xmlschema11-2/#dateTime

文件说:

例如,2002-10-10T12:00:00-05:00(2002年10月10日中午,中央夏令时以及美国东部标准时间)等于2002-10-10T17:00:00Z,比2002-10-10T12:00:00Z晚5个小时.

所以基于我的理解,我需要通过新的Date()找到我的本地时间,然后使用getTimezoneOffset()函数来计算差异,然后将它附加到字符串的末尾.

1.以格式获取当地时间

var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)
Run Code Online (Sandbox Code Playgroud)

产量

2013-07-02T09:00:00
Run Code Online (Sandbox Code Playgroud)

2.以小时为单位获取UTC时间偏移量

var offset = local.getTimezoneOffset() / 60;
Run Code Online (Sandbox Code Playgroud)

产量

7
Run Code Online (Sandbox Code Playgroud)

3.Construct URL(仅限时间部分)

var duration = local + "-" + offset + ":00";
Run Code Online (Sandbox Code Playgroud)

输出:

2013-07-02T09:00:00-7:00
Run Code Online (Sandbox Code Playgroud)

以上输出结果表示我的当地时间是2013/07/02 9am,与UTC的差异是7小时(UTC是比当地时间早7小时)

到目前为止它似乎工作,但如果getTimezoneOffset()返回负值如-120怎么办?

我想知道在这种情况下格式应该是什么样的,因为我无法从W3C文档中找到答案.提前致谢.

javascript timezone date-formatting

90
推荐指数
7
解决办法
12万
查看次数

使用javascript检查周末是否存在于日期范围内

想知道是否有人有一个解决方案来检查两个日期及其范围之间是否存在周末.

var date1 = 'Apr 10, 2014';
var date2 = 'Apr 14, 2014';


funck isWeekend(date1,date2){
   //do function

    return isWeekend;
}
Run Code Online (Sandbox Code Playgroud)

先感谢您.

编辑添加到目前为止我得到的东西.检查两天.

function isWeekend(date1,date2){
   //do function
    if(date1.getDay() == 6 || date1.getDay() == 0){
        return isWeekend;
        console.log("weekend")
    } 
        if(date2.getDay() == 6 || date2.getDay() == 0){
        return isWeekend;
        console.log("weekend")
    } 
}
Run Code Online (Sandbox Code Playgroud)

javascript date

6
推荐指数
1
解决办法
4611
查看次数

在javascript中迭代两个日期之间

我是JavaScript的新手,并且在javascript中迭代日期在给定范围之间时遇到困难.请帮我解决这个问题.我有2个日期,一个是开始日期,另一个是结束日期.循环应该从开始日期到结束日期迭代.对于每个迭代,开始日期应该增加一天.提前致谢

javascript

3
推荐指数
1
解决办法
7383
查看次数

标签 统计

javascript ×3

date ×1

date-formatting ×1

timezone ×1