我想让最终用户的实际日期/时间成为 PHP 中相对于服务器的变量。我一直在研究这个 PHP/Javascript 概念,尽管我确信我还很遥远。
我在这里找到的第一个是使用 PHP 来显示用户相对于服务器的日期/时间的 JavaScript 方法:
function hello() {
echo '<script type="text/javascript">
var x = new Date()
document.write(x)
</script>';
}
ob_start();
hello();
$output = ob_get_clean();
print "--" . $output . "--";
但是当我通过explode("", $output) 将 $output 分解为数组时,而不是给我用户的日期/时间(Sun Jan 21 2018 17:52:04 GMT-0500(东部标准时间) )),它给了我:
type="text/javascript"> var
x
=
new
Date() document.write(x) Dec 31 1969Jan 21 2018
有什么建议或者有人有更好的方法来获取用户的日期/时间并使其成为我可以使用的变量吗?
谢谢。
最佳答案
当然,当你分解它返回的代码时
type="text/javascript"> var
x
=
new
Date() document.write(x)
PHP 是服务器端,Javascript 是客户端,您可以创建一个 ajax 请求来向服务器发送其时区,然后保存它,例如:
你的 php 文件,对于这篇文章我没有逃脱该帖子,但我建议你这样做..
<?php
// For this post, but please escape it
echo $_POST['timezone'];
前端,发送到您的 php 文件。
<script>
(function() {
var xhr = new XMLHttpRequest();
xhr.open("POST", "myphp.php", true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify({
timezone: x
}));
})();
</script>
关于javascript - 如何在 PHP 中显示和解析查看者日期/时间而不是服务器日期/时间的存储变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48372628/