📅  最后修改于: 2023-12-03 15:03:41.968000             🧑  作者: Mango
在 web 应用中,我们通常需要在前端 JavaScript 中获取 PHP 后端传递的日期值。本文将介绍如何使用 PHP 传递两个日期值给 JavaScript。
我们可以将两个日期值打包成一个 JSON 对象,通过 PHP 的 json_encode()
函数将其编码成 JSON 字符串,再通过 JavaScript 的 JSON.parse()
函数解码成 JavaScript 对象。示例代码如下:
<?php
$start_date = date("Y-m-d", strtotime("2021-06-01"));
$end_date = date("Y-m-d", strtotime("+1 month", strtotime("2021-06-01")));
$date_range = json_encode(array(
"start_date" => $start_date,
"end_date" => $end_date
));
?>
<script>
var date_range = JSON.parse('<?php echo $date_range; ?>');
console.log(date_range.start_date); // 输出 "2021-06-01"
console.log(date_range.end_date); // 输出 "2021-07-01"
</script>
上述代码中,我们使用 PHP 的 date()
函数将日期值转换为字符串,并使用 strtotime()
函数将起始日期向后推一个月,以获得终止日期。然后,我们将这两个日期值组成一个 PHP 关联数组,并使用 json_encode()
函数将其编码成 JSON 字符串。在 JavaScript 中,我们使用 JSON.parse()
函数将 JSON 字符串解码成 JavaScript 对象,并访问其中的两个日期值。
我们也可以将两个日期值作为 PHP 脚本中的全局变量,在前端 JavaScript 中直接访问这些全局变量。示例代码如下:
<?php
$start_date = date("Y-m-d", strtotime("2021-06-01"));
$end_date = date("Y-m-d", strtotime("+1 month", strtotime("2021-06-01")));
echo "<script>var start_date = '$start_date'; var end_date = '$end_date';</script>";
?>
<script>
console.log(start_date); // 输出 "2021-06-01"
console.log(end_date); // 输出 "2021-07-01"
</script>
上述代码中,我们将起始日期和终止日期作为 PHP 脚本中的变量,并使用 echo
命令输出这两个变量作为 JavaScript 代码。在前端 JavaScript 中,我们直接访问这两个全局变量并输出它们的值。
本文介绍了如何使用 JSON 或全局变量来传递两个日期值给 JavaScript。根据需求不同,我们可以选择更适合的传递方法。