c与java中取精确到毫秒的时间
来源:百度文库 编辑:神马文学网 时间:2024/04/28 13:05:51
我们在编程中经常会为了测试性能,要取一个操作前后的时间差。在java中很简单,xO)ru垠o:$X教g
用System.currentTimeMillis()函数,m;1o供2.{azs2e&z;@
就能够得到当前时间,精度为毫秒。在c语言中,大多数的日期类函数都是精确到秒的,如time(),localtime()。精确到毫秒的函数有ftime(),gettimeofday(),业jP教A#:F,Rq国供U供垠-都是返回一个结构。其中ftime()在time.h中定义,返回一个struct timeb的结构,包含了秒和毫秒。
现在问题来了,t专91教(&教教ry&gcK
l,网网m2R&G#专dC0
我需要从c程序发起corba调用,m|1Or{ZG{无n教调用到java程序,再返回给c程序,要求计算出c到java,java到c的调用时间。java的System.currentTimeMillis()函数返回一个很大的long正整数,查文档是从1970年1月1日到当前的毫秒数(三十多年了,Tw[=k+nq7+.X件(换算成毫秒,是一个很大的数了)。而在c中用ftime()得到的结构,wRwY业专j_络K络中BGT:垠
秒乘以1000加上毫秒,m%["I的垠O6业@}zxq居然是个负数,虽然也是在一秒一秒地递增,换算起来这些时间大概有17天,这是什么意思呢?关键是两种语言的基准时间不同,我怎么计算他们之间的时间差啊。犯难了。
经再一次测试,哈,问题找到了。原来timeb结构中定义秒字段的是一个int类型,我先给它乘以1000,它就溢出了,变成了负值,其实本来的值还是正数的。再经过简单的计算,它也是从1970年1月1日开始计时的,原来c和java中是以一个基准来计算时间的,太好了,这样我就能够用c和java中取出的时间值直接做减法了。
从这里也可以看出,c语言追求的是效率,为了节省内存,只用一个int值存放秒数,害的溢出了。而gettimeofday()函数经测试,精度比较差,原因未知。
用System.currentTimeMillis()函数,m;1o供2.{azs2e&z;@
就能够得到当前时间,精度为毫秒。在c语言中,大多数的日期类函数都是精确到秒的,如time(),localtime()。精确到毫秒的函数有ftime(),gettimeofday(),业jP教A#:F,Rq国供U供垠-都是返回一个结构。其中ftime()在time.h中定义,返回一个struct timeb的结构,包含了秒和毫秒。
现在问题来了,t专91教(&教教ry&gcK
l,网网m2R&G#专dC0
我需要从c程序发起corba调用,m|1Or{ZG{无n教调用到java程序,再返回给c程序,要求计算出c到java,java到c的调用时间。java的System.currentTimeMillis()函数返回一个很大的long正整数,查文档是从1970年1月1日到当前的毫秒数(三十多年了,Tw[=k+nq7+.X件(换算成毫秒,是一个很大的数了)。而在c中用ftime()得到的结构,wRwY业专j_络K络中BGT:垠
秒乘以1000加上毫秒,m%["I的垠O6业@}zxq居然是个负数,虽然也是在一秒一秒地递增,换算起来这些时间大概有17天,这是什么意思呢?关键是两种语言的基准时间不同,我怎么计算他们之间的时间差啊。犯难了。
经再一次测试,哈,问题找到了。原来timeb结构中定义秒字段的是一个int类型,我先给它乘以1000,它就溢出了,变成了负值,其实本来的值还是正数的。再经过简单的计算,它也是从1970年1月1日开始计时的,原来c和java中是以一个基准来计算时间的,太好了,这样我就能够用c和java中取出的时间值直接做减法了。
从这里也可以看出,c语言追求的是效率,为了节省内存,只用一个int值存放秒数,害的溢出了。而gettimeofday()函数经测试,精度比较差,原因未知。
c与java中取精确到毫秒的时间
经纬度精确到毫秒,可以定位到最精确的区域是多大平方?
c语言中时间的获取
一毫秒的价值
一毫秒的价值
java中关于时间日期操作的常用函数
java中关于时间日期操作的常用函数
java中关于时间日期操作的常用函数
java中substring与substr的用法
java屏幕取词的实现
java屏幕取词的实现a
java屏幕取词的实现
java中利用JNI调用 C方法
java中利用JNI调用 C方法
java与c/c 进行socket通信的一些问题(1)
c时间的获取
Java中随心所欲格式化时间 SimpleDateFormat
精确预测到美国次级房贷市场的崩溃 第二次世界股市大地震的时间预报
精确预测到美国次级房贷市场的崩溃 第二次世界股市大地震的时间预报
Spring的事务管理2.0与1.2.8的区别 - JAVA AJAX C - Blo...
C 和java中多态机制的异同
C语言中continue与break的用法介绍
c函数的取整 (floor, ceil)--WHED
JAVA常用的时间格式化方法