使用PHP和Javascript处理日期

使用PHP和Javascript处理日期,javascript,php,jquery,mysql,date,Javascript,Php,Jquery,Mysql,Date,我在MySQL数据库中以YYYY-MM-DD格式存储了一些日期,我需要将这些日期传递给JQuery,以便在JQuery UI日历中使用。我遇到的问题是,PHP中的“2014-01-12”是2014年1月12日,而Javascript中是2014年2月12日 这是因为在Javascript中0=一月 那么,如何可靠地将日期传递给Javascript呢 我试过做一个简单的strotime-month,但显然这不是我想要的-我不想删除一个月,我希望日期保持不变,但格式不同 谢谢 更新: 在JavaSc

我在MySQL数据库中以YYYY-MM-DD格式存储了一些日期,我需要将这些日期传递给JQuery,以便在JQuery UI日历中使用。我遇到的问题是,PHP中的“2014-01-12”是2014年1月12日,而Javascript中是2014年2月12日

这是因为在Javascript中0=一月

那么,如何可靠地将日期传递给Javascript呢

我试过做一个简单的strotime-month,但显然这不是我想要的-我不想删除一个月,我希望日期保持不变,但格式不同

谢谢

更新:


在JavaScript中,月份是以零为基础的。一开始可能是胡说八道,但请考虑一下:

var names = ["Jan","Feb","Mar"...];
var thisMonth = names[date.getMonth()];
很酷!但是是的,这是一个难题,用PHP减去一个月并不能解决这个问题,特别是如果你在一月份工作的话

在JavaScript端,您需要从月份中减去一个。试试这个:

alert(new Date(<?php echo date("Y,n-1,j"); ?>));

像这样的东西,应该做这项工作:

Database query:

SELECT UNIX_TIMESTAMP(date_field) AS mydate FROM table;

In Javascript:

var jsDate = new Date(<?php echo mydate; ?> * 1000);

我遇到的问题是,PHP中的2014-01-12是2014年1月12日,而Javascript中的2014年2月12日。-向我们展示你是如何传递日期的。在javascript中,月份是以零为基础的,在某个地方你把事情搞砸了@阿迪内奥,这不正是我在问题中所说的吗?也许是遗漏的引语?var startDate=新日期;编辑:啊,不,没关系;我忽略了逗号…如果您使用的是strotime,为什么不直接传递unix时间戳呢?在PHP、Javascript和其他任何地方都是一样的?我想没有人明白这一点…通过这种方式,我们处理数字,并获得了正确的日期…非常感谢;项目的其余部分按日期进行。我想我更愿意坚持这一点,而不是引入新的日期格式,谢谢。别担心,有一套答案总是好的,而不是只有一个…更多的选择,一个永远不知道的选择,无法移植到其他一些DB引擎,但仍然是一个非常优雅的解决方案+1完美!正是我需要的。也不要搞乱Unix时间戳。谢谢
Database query:

SELECT UNIX_TIMESTAMP(date_field) AS mydate FROM table;

In Javascript:

var jsDate = new Date(<?php echo mydate; ?> * 1000);