首页 > 解决方案 > 如何在javascript中跨不同时区的工作日映射可用持续时间?

问题描述

此处提到的可用性(天数和持续时间)

Monday, Tuesday, Wednesday 3:30 AM to 9:30 PM IST(GMT +5:30) 

冰岛(格林威治标准时间)某人的此可用性将是

Sunday, Monday, Tuesday, Wednesday 10:00 PM to 4 PM

布里斯班(格林威治标准时间 +10)的某人的相同可用性将是

Monday, Tuesday, Wednesday, Thursday 8:00 AM to 2 AM

给定输入作为源时区和目标时区的天数(周一、周二、周三...)和持续时间(例如上午 9 点 - 下午 4 点),如何计算不同时区的可用性。

  1. 取开始时间并将其转换为目标时区,查看是否有日期偏移,返回正负。

  2. 取结束时间并将其转换为目标时区,查看是否有日期偏移,返回正负。

  3. 如果上述情况如果您收到加号或减号,请在日期上加或减一。

有一个更好的方法吗?

标签: javascripttimezone

解决方案


function getDayName(dateStr, locale)
{
    var date = new Date(dateStr);
    var options = { weekday: 'long' };
    options.timeZone = 'UTC';
    options.timeZoneName = 'short';
 return date.toLocaleDateString(locale, options);        
}
function getday()
{
var dateStr = '05/23/2014';

var day = getDayName(dateStr, "en-US"); 
//var day = getDayName(dateStr, "nl-NL"); 
// Gives back 'Vrijdag' which is Dutch for Friday.
alert(day);
}
getday();


推荐阅读