资讯专栏INFORMATION COLUMN

Java - 时间戳、Date、Calendar、SimpleDateFormat

reclay / 1677人阅读

摘要:时间戳获取时间戳精确到毫秒级,中精确到秒级,所以获取的时间戳需要除以,就可以保证一致性耗时最多,这是因为要处理时区问题时间戳日期转换自定义日期格式时间戳转换为格式化日期时间对象日期格式年月日控制台打印结果

Java
package com.ikoo.demo;
 
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
 
public class DateUtil {
    public static void main(String[] args) {
        /**
         * 时间戳
         * 1.System.currentTimeMillis()
         * 2.new Date().getTime()
         * 3.Calendar.getInstance().getTimeInMillis()
         * P.S.
         *  Java获取时间戳精确到毫秒级,Unix中精确到秒级,所以Java获取的时间戳需要除以1000,就可以保证一致性
         *  Calendar.getInstance().getTimeInMillis() 耗时最多,这是因为Canlendar要处理时区问题
         */
        System.out.println("System.currentTimeMillis(): " + System.currentTimeMillis());
        System.out.println("new Date().getTime(): " + new Date().getTime());
        System.out.println("Calendar.getInstance().getTimeInMillis(): " + Calendar.getInstance().getTimeInMillis());
        System.out.println("----------");
 
        /**
         * 时间戳(日期)转换自定义日期格式
         */
        long timeStamp = System.currentTimeMillis();
        System.out.println("System.currentTimeMillis(): " + timeStamp);
        Date date = new Date();
        System.out.println("new Date(): " + date);
        long dateTimaStamp = date.getTime();
        System.out.println("date.getTime(): " + date.getTime());
        String formatDate0 = DateUtil.timeStampToFormatDate(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss");
        System.out.println("formatDate0: " + formatDate0);
        String formatDate1 = DateUtil.timeStampToFormatDate(new Date(), "yyyy-MM-dd HH:mm:ss");
        System.out.println("formatDate1: " + formatDate1);
        String formatDate2 = DateUtil.timeStampToFormatDate(new Date().getTime(), "yyyy-MM-dd HH:mm:ss");
        System.out.println("formatDate2: " + formatDate2);
        String formatDate3 = DateUtil.timeStampToFormatDate(Calendar.getInstance().getTime(), "yyyy-MM-dd HH:mm:ss");
        System.out.println("formatDate3: " + formatDate3);
    }
 
    /**
     * 时间戳转换为格式化日期
     *
     * @param dateObj 时间对象
     *                System.currentTimeMillis()
     *                new Date()
     *                new Date().getTime()
     *                Calendar.getInstance().getTimeInMillis()
     * @param pattern 日期格式
     *                yyyy-MM-dd HH:mm:ss
     *                yyyy/MM/dd HH:mm:ss
     *                yyyy年MM月dd日 HH:mm:ss
     * @return sdf.format(Object dateObj)
     */
    public static String timeStampToFormatDate(Object dateObj, String pattern) {
        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
        String formatDate = sdf.format(dateObj);
        return formatDate;
    }
}

 
控制台打印结果:

System.currentTimeMillis(): 1503660334272
new Date().getTime(): 1503660334274
Calendar.getInstance().getTimeInMillis(): 1503660334299
----------
System.currentTimeMillis(): 1503660334328
new Date(): Fri Aug 25 19:25:34 CST 2017
date.getTime(): 1503660334328
formatDate0: 2017-08-25 19:25:34
formatDate1: 2017-08-25 19:25:34
formatDate2: 2017-08-25 19:25:34
formatDate3: 2017-08-25 19:25:34
 
Process finished with exit code 0

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68167.html

相关文章

  • 全面解析Java日期时间API

    摘要:类是一个抽象类,它为特定瞬间与一组诸如等日历字段之间的转换提供了一些方法,并为操作日历字段例如获得下星期的日期提供了一些方法。是不变的日期时间对象代表一个日期时间,往往被视为年月日时分秒。获得实例的日期和时间。 时区 GMT(Greenwich Mean Time):格林尼治时间,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间。 UTC(U...

    robin 评论0 收藏0
  • Android关于获取时间的记录

    摘要:使用时调用类的方法,该方法的描述是可以看出,该方法返回的是类型的结果,结果记录的是至今经过的毫秒数。关于类,可以很自由的定制表现形式,年月日时分秒,时间格式,。。。 序 初涉江湖,还望海涵!写点东西,纯粹是因为个人的记忆能力较弱,写些笔记罢了,若有错误还望雅正! 对Android中的时间获取做个记录,以下为结果! showImg(https://segmentfault.com/img...

    jay_tian 评论0 收藏0
  • Java 时间与日期处理

    摘要:时间与日期处理从属于笔者的现代开发系列文章,涉及到的引用资料声明在学习与实践资料索引中。可以通过静态构造方法很容易的创建,定义了与之间的转化关系时差类以年月日来表示日期差,而以秒与毫秒来表示时间差适用于处理与机器时间。 Java 时间与日期处理 从属于笔者的现代 Java 开发系列文章,涉及到的引用资料声明在 Java 学习与实践资料索引中。 Java 时间与日期处理 在 Java 8...

    HelKyle 评论0 收藏0
  • Java日期类分析

    摘要:用的时候再转化成年月日时分秒。创建日期对象代表当前时间从年月日早上点分秒开始经历了毫秒也就是秒的时间获取一个时间的毫秒数,返回一个型的整数。 时间原点概念 计算机语言中的时间原点都是从1970年1月1日8点0分0秒开始算的,就相当于时间的0。为什么对应1970年呢?其实,现在大部分计算机系统使用的时间都是UNIX时间,而UNIX或类UNIX系统使用的时间表示方式是:从协调世界时1970...

    Wuv1Up 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<