我有一个Javascript函数来获取客户端日期,如下所示:
var d = new Date();
var month = d.getMonth() + 1;
var thedate =
d.getDate() + "/" +
month + "/" +
d.getFullYear() +
" at "
+ d.getHours() + ":" +
(d.getMinutes()<10?'0':'') + d.getMinutes();
document.write(thedate);
我在PHP中需要这个,所以我尝试使用它:
$datevar = '
<script>
var d = new Date();
var month = d.getMonth() + 1;
var thedate = d.getDate() + "/" + month + "/" + d.getFullYear() + " at " + d.getHours() + ":" + d.getMinutes();
document.write(thedate);
</script>
';
上面的代码只有在我echo
之后才能正常工作,但。我不想echo
代码。我想将其插入日志文件中。这是我的日志文件代码:
$log_file_name = '1.log';
file_put_contents("$log_file_name, $datevar" , FILE_APPEND);
这将从字面上返回日志中的代码,而不是日期和时间。我想提出约会。
我能说清楚我想要客户的日期,而不是服务器的
请有人帮我这个。我将接受任何替代方式来获取客户的当前日期和时间。提前谢谢。
答案 0 :(得分:0)
您需要从浏览器获取客户端的时间,然后通过将值添加到隐藏输入,将表单发送到服务器。
HTML:
<input type="hidden" id="timestamp" name="timestamp" value="" />
你的JS看起来像这样:
<script>
var d = new Date();
document.getElementById("timestamp").value = d.getTime() / 1000;
</script>
您的time.php
文件将如下所示:
<?php
if (!empty($_POST['timestamp'])) {
$datevar = date('d/m/Y', $_POST['timestamp']) . ' at ' . date('h:i', $_POST['timestamp']) . PHP_EOL;
$log_file_name = '1.log';
file_put_contents($log_file_name, $datevar, FILE_APPEND);
}