使用PHP和JavaScript的本地日期
我想使用PHP和JavaScript来回显当前的本地日期(而不是服务器日期) 我的代码如下:使用PHP和JavaScript的本地日期,javascript,php,date,local,Javascript,Php,Date,Local,我想使用PHP和JavaScript来回显当前的本地日期(而不是服务器日期) 我的代码如下: <?php $year = '<script type="text/javascript"> var date = new Date(); var year = date.getFullYear(); document.write(year); </script>'; $month = '<script type="text/jav
<?php
$year = '<script type="text/javascript">
var date = new Date();
var year = date.getFullYear();
document.write(year);
</script>';
$month = '<script type="text/javascript">
var date = new Date();
var month = date.getMonth();
var monthName = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "november", "December");
var curMonth = monthName[month];
document.write(curMonth);
</script>';
$day='<script type="text/javascript">
var date = new Date();
var day = date.getDate();
document.write(day);
</script>';
$curDateString = $day . " " . $month . " " . $year;
$curDate = date('m/d/y', strtotime($curDateString));
echo $curDate;
?>
它总是返回01/01/70
我做错了什么?您的JavaScript代码将在客户端而不是服务器端执行。这意味着JavaScript代码不会在服务器端得到评估,因此字符串
$curDateString
不会具有您认为的值
正常的echo$curDateString
或var\u dump($curDateString)
将在2013年11月3日输出。$curDateString
变量中的代码将在客户端执行,输出将是2013年11月3日的
要了解$curDateString
真正包含的内容,可以执行以下操作:
header('Content-Type: text/plain');
var_dump($curDateString);
这将输出如下所示:
string(587) "<script type="text/javascript">
var date = new Date();
...
</script>
字符串(587)”
变量日期=新日期();
...
对于PHP来说,这是随机的胡言乱语。然后在上面的字符串上使用,但它失败了,并将返回01/01/70
作为输出
为了实现您想要的,您可以制作一个从客户端传递日期值的脚本。然后您可以在PHP脚本中接收此输入,在服务器端处理它并相应地发送回。仅使用PHP非常简单。
例如,如果您来自伦敦,您会:
date\u default\u timezone\u set('Europe/London');
之后,您将获得以下时间:
$date=date('m/d/Y h:i:sa');
echo$date
您正在混合使用JavaScript和PHP。PHP将在服务器上解释,JavaScript将在客户端解释,因此不可能以这种方式将JavaScript中的值传递给PHP。您想要客户端或服务器的本地日期吗?由于PHP将在服务器上运行,因此只有在t服务器的日期,而JavaScript只能确定客户端的日期。您不能混合客户端和服务器端代码。您是否检查过变量$day、$year、$month
,什么都没有。如果我检查$curDateString,它会得到2013年11月1日,因此我认为它会起作用。因此,无法使用p获取客户端日期hp和javascript?