轻松实现Java与C#时间转换
2013-05-21 10:35
323 查看
轻松实现Java与C#时间转换
笔者这两天做了一个Web Service,要记录操作时间,定义为long型数据,因为Java中可以把当前时间表示成long类型,所以本文政要讲到如何实现Java与C#时间转换。Java中可以用System.currentTimeMillis() 获取当前时间的long形式,它的标示形式是从1970年1月1日起的到当前的毫秒的数。Web Service 是用Java写的,把这个long型数据转成timestamp再存入MySQL,所以用调用我们的Web Service可以直接把这个值传入。
但是.NET下计算时间的方式不太一样,它是计算单位是Ticks,这里就需要做一个C#时间转换。关于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() 一样的结果,就可以做Java与C#时间转换,写成上面那样,也可以这样写:
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个小时。Java与C#时间转换到这里就彻底实现了。
相关文章推荐
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- 依靠JAXBContext轻松实现Java和xml的互相转换
- Excel日期/时间存储数值转换为具体日期/时间(java实现)
- C#与Java的时间转换
- C#实现时间戳timestamp与时间相互转换
- <java代码> 实现Unix时间戳(Unix timestamp)与普通时间 之间的相互转换
- 转 .Net/C#/VB/T-SQL/Java/Script 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- Java中utc时间转换成c#utc时间
- Java中系统时间与C#DateTime对象之间转换方法
- Java与C#时间转换
- 将天文数字转换成中文大写(.Net/C#/VB/T-SQL/Java 实现)
- java对象和xml的互相转换,JAXB可以轻松实现
- Java实现时间和时间戳相互转换
- java简单实现测试程序执行时间及日期转换字符串
- C#实现UTC时间与Datetime转换
- java+xstream实现xml序列化(XStream轻松转换xml和java对象)
- C# 与Java 时间互相转换
- java实现时间与字符串之间转换
- Java实现的时间戳与date对象相互转换功能示例
- Java编程实现时间和时间戳相互转换实例