javascript - 如何在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 点),如何计算不同时区的可用性。
取开始时间并将其转换为目标时区,查看是否有日期偏移,返回正负。
取结束时间并将其转换为目标时区,查看是否有日期偏移,返回正负。
如果上述情况如果您收到加号或减号,请在日期上加或减一。
有一个更好的方法吗?
解决方案
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();
推荐阅读
- python - 在python的不同类中使用相同的dict
- reporting-services - SSRS 计算系列 MACD 图表条件格式
- angular - 如何根据来源点击在同一页面上过滤我的数据
- swift - 将标题添加到 UICollectionViewLayout
- python - 如何使用 Beautifulsoup 获取成员列表
- r - x[i, j] 中的错误:维数不正确:使用 R(GA 包)中的遗传算法的传输问题
- python - 如果对象是 pytz.timezone 的实例,如何按类型检查?
- javascript - 在执行其他脚本之前将脚本动态添加到 DOM
- react-native - “无法调用 WifiManager.connectToProtectedSSID”仅在应用程序基于 bitrise 而不是本地计算机构建时发生
- java - Java Process Builder - 无法运行简单的程序