【问题标题】:Javascript in a .txt file.txt 文件中的 Javascript
【发布时间】:2017-05-15 17:14:41
【问题描述】:

我有一个 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);

这会返回日志中的代码,而不是日期和时间。我希望它提出日期。

我可以说清楚我想要的是客户的日期,而不是服务器的

请,有人可以帮我解决这个问题。我将接受任何其他方式来获取客户的当前日期和时间。提前谢谢你。

【问题讨论】:

  • 为什么不使用 PHP 来做这个逻辑?
  • @Lixus 据我所知,没有办法使用 PHP 来查找客户的日期/时间
  • @Sirko 我很确定返回的是服务器的时间,而不是客户端的时间
  • 在这种情况下,您需要 ajax 将日期发送到您的 php 文件

标签: javascript php date client


【解决方案1】:

您需要从浏览器获取客户端的时间,然后通过将值添加到隐藏输入中,将其与表单提交一起发送到服务器。

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);
}

【讨论】:

  • 好吧,我不知道你可以像你一样直接将AJAX插入PHP。
  • 你不是。 javascript 是独立的,应该包含在 html 中的 js 文件中,或者包含在 html 页面上的
  • 抱歉,这样更有意义
  • 我的表单操作是什么?
  • 您不需要任何表格
猜你喜欢
  • 2012-03-04
  • 1970-01-01
  • 1970-01-01
  • 2016-06-03
  • 2012-06-29
  • 2015-05-21
  • 2022-01-19
  • 1970-01-01
相关资源
最近更新 更多