javascript - 在 PHP 和 Javascript 中处理日期

标签 javascript php jquery mysql date

我在 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/

相关文章:

javascript - 单击复选框后,我可以在 Javascript 函数中将重力形式字段设置为所需状态吗?

javascript - 如何在对象上定义函数并仍然能够运行它来设置初始对象属性

php - 如何在 <li> yii bootstrap navbar 中的 <a> 标签中添加一个类

php - 如何在 PHP 中获取字符串的十六进制转储?

Rails 项目中未定义 javascript 函数

javascript - jQuery 'text' 不工作

PHP 警告 : Cannot load module "http" because required module "raphf" is not loaded in Unknown on line 0

javascript - 使用 URL 哈希重新定义 XSS 攻击中的转义函数

javascript - on key up如何在jquery中添加小数值?

javascript - 检查一组复选框是否在 Bootstrap 中选中。