我在 MySQL 数据库中以 YYYY-MM-DD
格式存储了一些日期,我需要将其传递给 JQuery 以便在 JQuery UI 日历中使用。我遇到的问题是 `2014-01-12
在 PHP 中是 2014 年 1 月 12 日,但在 Javascript 中是 2014 年 2 月 12 日。
这是因为 0 = January 在 Javascript 中。
那么我怎样才能可靠地将日期传递给 Javascript?
我试过做一个简单的 strtotime
“-month”,但显然这并不是我想要的——我不想恰好删除一个月,我希望日期保持不变,但格式不同。
谢谢!
更新:
<script>
$(document).ready(function() {
<?php
$startDate = date("Y,n,j", strtotime('-1 month'));
$endDate = date("Y,n,j", strtotime('+1 year -1 month'));
?>
var startDate = new Date(<?php echo $startDate; ?>);
var endDate = new Date(<?php echo $endDate; ?>);
最佳答案
在 JavaScript 中,月份是从零开始的。起初这可能是无稽之谈,但考虑一下:
var names = ["Jan","Feb","Mar"...];
var thisMonth = names[date.getMonth()];
很酷!但是,是的,这是一个陷阱,在 PHP 中减去一个月并不能解决问题(尤其是如果您在一月份工作)。
您需要从 JavaScript 端的月份中减去一个。试试这个:
alert(new Date(<?php echo date("Y,n-1,j"); ?>));
关于javascript - 在 PHP 和 Javascript 中处理日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20807576/