Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取web用户';s时区作为字符串_Javascript_Php - Fatal编程技术网

Javascript 获取web用户';s时区作为字符串

Javascript 获取web用户';s时区作为字符串,javascript,php,Javascript,Php,我正在制作一个网站,用户将在其中上传问题和答案。现在我需要获取用户的时区,我可以将其存储在变量$TimeZoneNameTo中,而不仅仅是“Asia/Kathmandu”。无论如何,时区作为字符串将在变量$TimeZoneNAmeTo中检测和选择,因此对于任何时区的任何用户,在显示时,datetime将转换为他/她的时区,而不是UTC $TimeZoneNameFrom="UTC"; $TimeZoneNameTo="Asia/Kathmandu"; echo "uploaded on"

我正在制作一个网站,用户将在其中上传问题和答案。现在我需要获取用户的时区,我可以将其存储在变量$TimeZoneNameTo中,而不仅仅是“Asia/Kathmandu”。无论如何,时区作为字符串将在变量$TimeZoneNAmeTo中检测和选择,因此对于任何时区的任何用户,在显示时,datetime将转换为他/她的时区,而不是UTC

$TimeZoneNameFrom="UTC";
    $TimeZoneNameTo="Asia/Kathmandu";
echo "uploaded on".$upload_date;
    echo"<br>";
    echo date_create($upload_date, new DateTimeZone($TimeZoneNameFrom))
    ->setTimezone(new DateTimeZone($TimeZoneNameTo))->format("Y-m-d H:i:s");
$TimeZoneNameFrom=“UTC”;
$timezonemato=“亚洲/加德满都”;
echo“上传日期”。$upload\u日期;
回声“
”; 回显日期\创建($upload\日期,新日期时区($TimeZoneNameFrom)) ->setTimezone(新日期时区($TimeZoneNameTo))->格式(“Y-m-DH:i:s”);
回答您提出的问题:

在现代浏览器上,您可以使用

var tz = Intl.DateTimeFormat().resolved.timeZone;
如果你的浏览器没有(IE10和Safari),那么它就有点复杂了。我使用moment.js为此制作了一个小库:

回答您的问题:


大多数情况下,您不必知道客户端的时区,只需让他的浏览器格式化您发送的UTC时间戳即可。见罗布的答案

回答您提出的问题:

在现代浏览器上,您可以使用

var tz = Intl.DateTimeFormat().resolved.timeZone;
如果你的浏览器没有(IE10和Safari),那么它就有点复杂了。我使用moment.js为此制作了一个小库:

回答您的问题:


大多数情况下,您不必知道客户端的时区,只需让他的浏览器格式化您发送的UTC时间戳即可。见罗布的答案

回答您提出的问题:

在现代浏览器上,您可以使用

var tz = Intl.DateTimeFormat().resolved.timeZone;
如果你的浏览器没有(IE10和Safari),那么它就有点复杂了。我使用moment.js为此制作了一个小库:

回答您的问题:


大多数情况下,您不必知道客户端的时区,只需让他的浏览器格式化您发送的UTC时间戳即可。见罗布的答案

回答您提出的问题:

在现代浏览器上,您可以使用

var tz = Intl.DateTimeFormat().resolved.timeZone;
如果你的浏览器没有(IE10和Safari),那么它就有点复杂了。我使用moment.js为此制作了一个小库:

回答您的问题:


大多数情况下,您不必知道客户端的时区,只需让他的浏览器格式化您发送的UTC时间戳即可。见罗布的答案

如果您只想根据用户的系统设置确定当前时间,那么只需将UTC时间值发送到客户端即可。自1970-01-01T00:00:00Z起,该值应为毫秒。UNIX使用自同一纪元起的秒数,因此您只需将UNIX UTC时间戳乘以1000:

var newLocalDate = new Date(UNIXutcTimeValue * 1000);
现在只需以用户可读的形式呈现,比如使用:

e、 g.2014-06-06T12:00:00Z为1402056000秒或14020560000000毫秒,因此在Safari中:

alert(new Date(1402056000000).toLocaleString()) // 6 June 2014 20:00:00 AWST

当然,您可以随时使用日期方法来格式化字符串,只要您愿意。

如果您只需要根据用户的系统设置设置当前时间,那么只需将UTC时间值发送到客户端即可。自1970-01-01T00:00:00Z起,该值应为毫秒。UNIX使用自同一纪元起的秒数,因此您只需将UNIX UTC时间戳乘以1000:

var newLocalDate = new Date(UNIXutcTimeValue * 1000);
现在只需以用户可读的形式呈现,比如使用:

e、 g.2014-06-06T12:00:00Z为1402056000秒或14020560000000毫秒,因此在Safari中:

alert(new Date(1402056000000).toLocaleString()) // 6 June 2014 20:00:00 AWST

当然,您可以随时使用日期方法来格式化字符串,只要您愿意。

如果您只需要根据用户的系统设置设置当前时间,那么只需将UTC时间值发送到客户端即可。自1970-01-01T00:00:00Z起,该值应为毫秒。UNIX使用自同一纪元起的秒数,因此您只需将UNIX UTC时间戳乘以1000:

var newLocalDate = new Date(UNIXutcTimeValue * 1000);
现在只需以用户可读的形式呈现,比如使用:

e、 g.2014-06-06T12:00:00Z为1402056000秒或14020560000000毫秒,因此在Safari中:

alert(new Date(1402056000000).toLocaleString()) // 6 June 2014 20:00:00 AWST

当然,您可以随时使用日期方法来格式化字符串,只要您愿意。

如果您只需要根据用户的系统设置设置当前时间,那么只需将UTC时间值发送到客户端即可。自1970-01-01T00:00:00Z起,该值应为毫秒。UNIX使用自同一纪元起的秒数,因此您只需将UNIX UTC时间戳乘以1000:

var newLocalDate = new Date(UNIXutcTimeValue * 1000);
现在只需以用户可读的形式呈现,比如使用:

e、 g.2014-06-06T12:00:00Z为1402056000秒或14020560000000毫秒,因此在Safari中:

alert(new Date(1402056000000).toLocaleString()) // 6 June 2014 20:00:00 AWST


当然,您可以随时使用Date方法来格式化字符串,不管您想要什么。

+1因为是的,对于OP的问题,知道用户时区似乎没有用,他不必走艰难的道路……tq代表您的注释:)@如果你的答案对你有好处,你应该考虑接受它+ 1,因为是的,对于OP的问题,知道用户时区似乎是无用的,他不必走硬路……TQ为你的ANNSWER…如果你的答案对你有好处,你应该考虑接受它+ 1,因为是的,对于OP的问题,知道用户时区似乎是无用的,他不必走硬路……TQ为你的ANNSWER…如果你的答案对你有好处,你应该考虑接受它+ 1,因为是的,对于OP的问题,知道用户时区似乎是无用的,他不必走硬路……TQ为你的ANNSWER…如果你的回答对你有好处,你应该考虑在Safari中不支持ITITL。他们在干什么?虽然safari中可能不支持他们。。。你的回答帮助了@dystroy:)@dystroydunno,不过作为约会的方式会好得多。注意:时区没有标准,只有数据库