【发布时间】:2018-10-31 14:13:16
【问题描述】:
我正在尝试为访问我网站的人安排一天中的时间。看起来很容易,但棘手的部分是人们可能从其他时区旅行而不改变他们的系统时钟。使用以下:
var d = new Date();
var currentTime = d.getHours();
console.log( currentTime );
if(currentTime < 12){
var tod = "morning";
}else if(currentTime >= 12 && currentTime <= 17){
var tod = "afternoon";
}else{
var tod = "evening";
}
document.write("hour of day is: "+currentTime);
console.log("Time of day is: "+tod );
我能够检测到本地系统时间。例如,如果我的时钟显示上午 7:06,那么变量 currentTime 将为 7。这基于系统时钟工作。因此,如果我将时区更改为东部,currentTime 将是 10 而不是 7。问题是我想检测用户当时实际坐在的时间。因此,如果我在东海岸并且我的系统时钟显示上午 7 点,我仍然想向用户显示 10。我想检测一天中的小时,它实际上是用户通过 IP 地址所在的位置。我找到了一种收集 IP 地址的方法,但不知道如何使用它来获取本地时间。
如果有其他方式,我也愿意接受。谢谢。
有些人可能会建议从服务器获取它,但我正在使用营销云,似乎没有办法做到这一点。我使用了可用的 AmpScript 函数,但它们并没有像我预期的那样工作。
【问题讨论】:
-
IP 地址是计算机的严格数字地址。您可以付费使用一些服务来“地理定位”IP 地址,但这可能不正确,您可能无法找到免费服务。
标签: javascript salesforce-marketing-cloud