快速业务通道

Java与C#实现时间转换 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

Java与C#实现时间转换

时间:2010-12-22

这两天做了一个Web Service,要记录操作时间,定义为long型数据,因为 Java中可以把当前时间表示成long类型。

Java中可以用 System.currentTimeMillis() 获取当前时间的long形式,它 的标示形式是从1970年1月1日起的到当前的毫秒的数。Web Service 是用Java写 的,把这个long型数据转成timestamp再存入MySQL,所以用调用我们的Web Service可以直接把这个值传入。

但是.Net下计算时间的方式不太一样,它是计算单位是Ticks,关于Ticks,msdn上是这样说的:

A single tick represents one hundred nanoseconds or one ten- millionth of a second. The value of this property represents the number of 100-nanosecond intervals that have elapsed since 12:00:00 midnight, January 1, 0001.

就是从公元元年元月1日午夜到指定时间的千万分之一秒了,为了和Java比较 ,说成万分之一毫秒。

( System.DateTime.UtcNow.Ticks - new DateTime(1970, 1, 1, 0, 0, 0).Ticks)/10000;

如果要得到Java中 System.currentTimeMillis() 一样的结果,就可以写成 上面那样,也可以这样写:

TimeSpan ts=new TimeSpan( System.DateTime.UtcNow.Ticks - new DateTime(1970, 1, 1, 0, 0, 0).Ticks);

(long)ts.TotalMilliseconds;

需要注意的是这里是用的 System.DateTime.UtcNow 而不是 System.DateTime.Now ,因为我们在东八区,如果用后面那种形式就会发现时间 会和想象当中的差了8个小时。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号