[时间转换]java 时间戳和PHP时间戳 的转换问题,13位毫秒获取。

jackxiang 2013-6-17 11:34 | |
背景:ts 参数  时间戳毫秒级,13位的,我用的是PHP的,发现调用失败:
以下代码有点问题:

当mtime[0]是0.012 =>> 给*1000后小数后面的第一个零给去掉了,形成了12位的,不到13位,于是rango给出一个:

估计是后面的是00,所以没显示
比如:第一个其实是:1372057395.0100
后面两个0没显示,则会显示:1372057395.01,12位。


PHP时间戳长度是10位, 如:1294890859
而PHP的microtime()得出的是:
10位的Unix时间(秒)
8位的微妙
足够你用了.截取自己要的13位就可以了.

这里可能涉及到java 时间戳和PHP时间戳 的转换问题:
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');


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);

来自:http://fghzhaopai.blog.163.com/blog/static/4780555620114137146287/
======================================================
Js实现:

10位的时间戳 转 脚本里乘1000 要么你直接后面加3个000 变成13位的 ,
估计也差不多 算成时间 秒位最小单位 基本没什么误差了

1s=1000ms(毫秒)=1000000(微秒)
1s=10^3ms(毫秒)=10^6μs(微秒)


IOS的  typedef long      __darwin_time_t;  /* time() */
time返回就是 long
不存在小数情况你这个IOS返回的是毫秒还是微秒?了解下。
是秒
那怎么获取到毫秒啊?
乘1000
取到的秒 是  10位的

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/6459/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2013-6-26 16:48
评论列表
2013-9-15 20:20 | 小浩 Email Homepage
楼主你真棒,学习了~!
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]