美文网首页
JAVA时间

JAVA时间

作者: 菜菜少吃菜 | 来源:发表于2018-11-10 01:14 被阅读0次

Date类

java.util提供了Date类来封装日期和时间。

Date();--当前时间
Date(long millisec);--距离格林威治时间1970年1月1日millisec毫秒的时间
new Date().getTime() 时间戳
System.currentTimeMillis() 取得系统当前时间秒数

/**
     SimpleDateFormat函数语法:
     G 年代标志符
     y 年
     M 月
     d 日
     h 时 在上午或下午 (1~12)
     H 时 在一天中 (0~23)
     m 分
     s 秒
     S 毫秒
     E 星期
     D 一年中的第几天
     F 一月中第几个星期几
     w 一年中第几个星期
     W 一月中第几个星期
     a 上午 / 下午 标记符
     k 时 在一天中 (1~24)
     K 时 在上午或下午 (0~11)
     z 时区
     */
      Date now = new Date( );
      SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
      // Current Date: 星期六 2018.11.10 at 12:28:40 上午 CST
      System.out.println("Current Date: " + ft.format(now));
      String time = "星期六 2018.11.10 at 12:28:40 上午 CST";
      Date date = ft.parse(time);
      // Sat Nov 10 00:28:40 CST 2018
      System.out.println(date);
      // 取得系统当前时间秒数
      System.out.println(System.currentTimeMillis());

Calendar类

  • Set设置
    Calendar c1 = Calendar.getInstance();
    调用:
    public final void set(int year,int month,int date)
    c1.set(2009, 6 - 1, 12);//把Calendar对象c1的年月日分别设这为:2009、6、12
    利用字段类型设置
    如果只设定某个字段,例如日期的值,则可以使用如下set方法:
    public void set(int field,int value)
    把 c1对象代表的日期设置为10号,其它所有的数值会被重新计算
    c1.set(Calendar.DATE,10);
    把c1对象代表的年份设置为2008年,其他的所有数值会被重新计算
    c1.set(Calendar.YEAR,2008);
    其他字段属性set的意义以此类推

  • Add设置
    Calendar c1 = Calendar.getInstance();
    把c1对象的日期加上10,也就是c1也就表示为10天后的日期,其它所有的数值会被重新计算
    c1.add(Calendar.DATE, 10);
    把c1对象的日期减去10,也就是c1也就表示为10天前的日期,其它所有的数值会被重新计算
    c1.add(Calendar.DATE, -10);

  • Calendar类对象信息的获得
    Calendar c1 = Calendar.getInstance();
    // 获得年份
    int year = c1.get(Calendar.YEAR);
    // 获得月份
    int month = c1.get(Calendar.MONTH) + 1;
    // 获得日期
    int date = c1.get(Calendar.DATE);
    // 获得小时
    int hour = c1.get(Calendar.HOUR_OF_DAY);
    // 获得分钟
    int minute = c1.get(Calendar.MINUTE);
    // 获得秒
    int second = c1.get(Calendar.SECOND);
    // 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)
    int day = c1.get(Calendar.DAY_OF_WEEK);

Instant类

所谓的 Instant 类代表的是某个时间(有点像 java.util.Date),它是精确到纳秒的(而不是象旧版本的Date精确到毫秒)。如果使用纳秒去表示一个时间则原来使用一位Long类型是不够的,需要占用更多一点的存储空间,实际上其内部是由两个Long字段组成,第一个部分保存的是自标准Java计算时代(就是1970年1月1日开始)到现在的秒数,第二部分保存的是纳秒数(永远不会超过999,999,999)。

Instant now = Instant.now().plusMillis(TimeUnit.HOURS.toMillis(8));
System.out.println("秒数:"+now.getEpochSecond());
System.out.println("毫秒数:"+now.toEpochMilli());

相关文章

  • JDBC能保存的时间字段

    JAVA时间类型:java.util.DATE,java.util.CalendarJDBC时间类型:java.s...

  • java时间

    ##让人 java.util提供了Date类来封装日期和时间。实例化Date类的两个构造函数, 方法

  • JAVA时间

    Date类 java.util提供了Date类来封装日期和时间。 Date();--当前时间Date(long m...

  • Java时间

    Java 中日期的几种常见操作 ——取值、转换、加减、比较 1. 日期取值 在旧版本 JDK 的时代,有不少代码中...

  • Java Basics

    一、java apis 优先级java sdkguavaspringcommons java8 日期/时间库时间运...

  • Java8 Date

    java8 Date Java日期时间API(java.time.Instant)中的Instant类表示时间线上...

  • Java常用类

    时间类java.util.Date类,处理时间日期类java.util.Calendar类,封装日历信息java....

  • Java Tips

    Java中比较日期:ComparatorDate.java类 调用: java计算运行时间

  • MySQL、java、js计算今日的起始时间和结束时间

    mysql今日开始时间 mysql今日结束时间 java今日开始时间 java今日结束时间 js今日起始时间(使用...

  • 【工具】echarts+kuno+分词

    数据: python爬虫:微博爬虫、借助'出书啦'爬微信知乎Java爬虫:Java微博爬虫 时间轴: JAVA时间...

网友评论

      本文标题:JAVA时间

      本文链接:https://www.haomeiwen.com/subject/wyiaxqtx.html