总结一下java 时间戳和PHP时间戳 的转换问题: 由于精度不同,导致长度不一致,直接转换错误。 JAVA时间戳长度是13位,如:1294890876859 PHP时间戳长度是10位, 如:1294890859 主要最后三位的不同,JAVA时间戳在PHP中使用,去掉后三位,如:1294890876859-
总结一下java 时间戳和PHP时间戳 的转换问题:
由于精度不同,导致长度不一致,直接转换错误。
JAVA时间戳长度是13位,如:1294890876859
PHP时间戳长度是10位, 如:1294890859
主要最后三位的不同,JAVA时间戳在PHP中使用,去掉后三位,如:1294890876859-> 1294890876 结果:2011-01-13 11:54:36
- echo date('Y-m-d H:i:s','1294890876');
结果:2011-01-13 11:54:19
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String dateTime = df.format(1294890859000L);
- System.out.println(df);
由于精度不同,导致长度不一致,直接转换错误。
JAVA时间戳长度是13位,如:1294890876859
PHP时间戳长度是10位, 如:1294890859
主要最后三位的不同,JAVA时间戳在PHP中使用,去掉后三位,如:1294890876859-> 1294890876 结果:2011-01-13 11:54:36 echo date('Y-m-d H:i:s','1294890876'); PHP时间戳在JAVA中使用,最后加三位,用000补充,如:1294890859->1294890859000
结果:2011-01-13 11:54:19
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateTime = df.format(1294890859000L);System.out.println(df);
另外:
Timestamp就是所谓的时间戳,这个主要用在数据库上,你可以再java.sql这个包内找到这个类,一般数据库里如果用Date这个类的话,那你取出来的时候只能到某一天,也就是日,但是Timestamp的话,就是到小时一直到纳秒,很精确的。但是你把时间存进去的时候也要用这个类。比如:mysql的话,你可以用setTimtstamp();这个方法,你可以到java的文档里去看看,里面都写的比较清楚。
java获取时间戳:
Date date = new Date();long time = date.getTime();
//mysq 时间戳只有10位 要做处理
String dateline = time + "";
dateline = dateline.substring(0, 10)