Java~时间戳小知识

简介:

大叔对java时间戳使用的总结

  1. Java里的Date对象有方法setTime,主要是将一个时间戳转成一个日期对象,而这个时间戳的标准是unix标准,即当前时间与1970/1/1相差的毫秒数,记得是毫秒!
  2. .net里的时间戳与java不同,所有需要特殊处理一个它的其实时间,而且.net里时间戳为double,如何要给java传输,需要转为long!
  3. java与.net时间在进行传输时,不建议直接使用时间字符串,因为会有兼容问题,还是建议使用时间戳为标准.
  4. 开一个.net里的一个扩展方法,主要用来生成java的long类型及起始时间的时间戳
  5. 注意java里的setTime,使用的时间戳参数为UTC时间戳

C#里相关时间戳的扩展方法

    /// <summary>
    /// 时间帮助类
    /// </summary>
    public class TimeHelper
    {
        /// <summary>
        /// 日期转换成unix时间戳
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public static long DateTimeToUnixTimestamp(DateTime dateTime)
        {
            var start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Local);
            return Convert.ToInt64((dateTime - start).TotalMilliseconds);
        }

        /// <summary>
        /// unix时间戳转换成日期
        /// </summary>
        /// <param name="unixTimeStamp">时间戳(秒)</param>
        /// <returns></returns>
        public static DateTime UnixTimestampToDateTime(DateTime target, long timestamp)
        {
            var start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Local);
            return start.AddSeconds(timestamp);
        }

    }

在C#里为java传输时,需要把本地时间转为UTC时间

TimeHelper.DateTimeToUnixTimestamp(DateTime.Now.ToUniversalTime());

这样在java时,直接setTime后,就是本地时间了

    Date d1 = new Date();
    d1.setTime(1490232651510L);
    System.err.println(d1);

感谢各位的阅读!

知识在于积累!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:Java~时间戳小知识,如需转载请自行联系原博主。

目录
相关文章
|
Java API
Java时间戳教程
本文详细介绍Java中时间戳的处理方法,包括获取当前时间戳、使用`java.time`包、时间戳与日期的相互转换及格式化等。示例代码展示了如何利用`System.currentTimeMillis()`和`java.time.Instant`获取时间戳,以及如何通过`Date`和`ZonedDateTime`进行日期转换和时区处理。随着Java 8引入的`java.time`包,日期时间操作变得更加强大和便捷,推荐在新项目中优先采用。
924 8
|
SQL Java Unix
Android经典面试题之Java中获取时间戳的方式有哪些?有什么区别?
在Java中获取时间戳有多种方式,包括`System.currentTimeMillis()`(毫秒级,适用于日志和计时)、`System.nanoTime()`(纳秒级,高精度计时)、`Instant.now().toEpochMilli()`(毫秒级,ISO-8601标准)和`Instant.now().getEpochSecond()`(秒级)。`Timestamp.valueOf(LocalDateTime.now()).getTime()`适用于数据库操作。选择方法取决于精度、用途和时间起点的需求。
317 3
|
Java 数据库
使用java.sql.Timestamp处理时间戳
使用java.sql.Timestamp处理时间戳
|
Java 存储 数据库
如何用JAVA基于时间戳回放历史数据?
如何用JAVA基于时间戳回放历史数据?
274 4
|
安全 Java 测试技术
滚雪球学Java(51):掌握Java Date类:用法、弊端与时间戳转换技巧,助你轻松处理日期时间
【6月更文挑战第5天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
341 0
滚雪球学Java(51):掌握Java Date类:用法、弊端与时间戳转换技巧,助你轻松处理日期时间
|
Java API
Java代码如何将时间戳转换为时间
【6月更文挑战第27天】Java代码如何将时间戳转换为时间
452 0
|
关系型数据库 MySQL Java
Java时间转换为MySQL中的INT类型时间戳
Java时间转换为MySQL中的INT类型时间戳
219 0
|
Java
Java中时间戳转换为时间
Java中将时间戳转为日期时间字符串示例:
454 0
|
Java 数据库
Java【问题记录 04】时间戳类型字符串{Timestamp@15601}2021-07-14 18:56:53.0变成带T的Object类型2021-07-14T10:56:53.000+0000
Java【问题记录 04】时间戳类型字符串{Timestamp@15601}2021-07-14 18:56:53.0变成带T的Object类型2021-07-14T10:56:53.000+0000
130 0