我在java中有以下代码,它返回549255600000
:
Date date = new Date(87, 4, 29);
long micro = date.getTime();
System.out.println(micro);
PHP中的以下内容返回另一个值546663600000
:
var_dump(strtotime('1987-04-29') * 1000)
我需要一个返回相同Java代码的php函数。为什么会有所不同?
Java中的上述内容与PHP相同:
// date variable is the same
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
utilDate = formatter.parse(date);
System.out.println("utilDate: " + utilDate.getTime());
可能错误出现在第一个java片段中。
答案 0 :(得分:1)
正如@ndsmyter所述,这里的问题是第一个java片段在month参数中应该是3,因为月份是0到11.因此它将像PHP片段一样输出546663600000
。
Date date = new Date(87, 3, 29);
long micro = date.getTime();
System.out.println(micro);