如何使用JavaScript将这样的消息添加到网页:
我们的办公时间是晚上9点到下午5点(09:00 - 17:00)。 在您的时区,是WWxx - YYzz (AA:00 - BB:00)。
其中:
所以..。最后输出的一个例子是:
我们的办公时间是晚上9点到下午5点(09:00 - 17:00)。 在您的时区,是上午12时至上午8时(00:00-08:00)。
发布于 2010-07-17 21:32:24
JavaScript提供了一个日期对象上的toLocaleTimeString方法,您可以使用该方法根据用户的区域设置来格式化时间。但是,这也存在这样的问题,即对于您的需要来说过于具体,因为它将在使用它的地方显示全职时间,包括小时、分钟、秒,以及可选的AM/PM指示符。
06:42:12 PM // 12 hour
18:42:12 // 24 hour请注意,您没有显示翻译的本地时间的分钟,这可能是一个问题,因为9点对您来说,可能是下午4:30对某人。以下是您列出的修改后的解决方案。
Our office hours are 9:00am - 5:00pm (09:00 - 17:00)
In your timezone, that's 07:30am - 3:30pm (07:30 - 15:30).你已经知道你当地时间了。若要获取网站访问者的本地时间,请获取unix时间戳,用于您的办公室在任何一天开始或关闭时使用。假设那些时间戳是:
1279401823511 // start
1279430623511 // end只需使用这些时间创建一个date对象,然后为用户格式化时间。
var open = new Date(1279401823511);
var close = new Date(1279430623511);编写一个函数来获得12/24小时格式的日期是很简单的。看这个作为参考。我将使用来自toString的Date.JS函数,因为它使生活变得简单一些。
var localTime = "In your timezone, that's {a} - {b} ({c} - {d})";
var map = {
'{a}': open.toString('h:mmtt'),
'{b}': close.toString('h:mmtt'),
'{c}': open.toString('HH:mm'),
'{d}': close.toString('HH:mm')
};
for(var p in map) {
localTime = localTime.replace(p, map[p]);
}
console.log(localTime);
"In your timezone, that's 2:23PM - 10:23PM (14:23 - 22:23) https://stackoverflow.com/questions/3272609
复制相似问题