• Java中日期和时间的相关问题


    1.java.lang.System

    System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。

    System.currentTimeMillis();

    2. java.util.Date

        表示特定的瞬间,精确到毫秒

        构造方法:

    • Date( ) 使用Date类的无参数构造方法创建的对象可以获取本地当前时间
    • Date(long date) 指定时间的date对象

        常用方法

    • getTime():返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
    • toString():把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat),zzz是时间标准
    • Date d1 = new Date();
      System.out.println(d1.getTime());
      System.out.println(d1);
      1522287472200
      Thu Mar 29 09:37:52 CST 2018

    3.SimpleDateFormat

    Date类的API不易于国际化,大部分被废弃了,java.text.SimpleDateFormat类是一个用来格式化和解析日期的具体类

        格式化:

    • SimpleDateFormat() :默认的模式和语言环境创建对象
    • public SimpleDateFormat(String pattern):该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用:
    • public String format(Date date):方法格式化时间对象date

       解析:

    • public Date parse(String source):从给定字符串的开始解析文本,以生成一个日期
    • SimpleDateFormat df = new SimpleDateFormat();
      System.out.println(df.format(d1));
              
      SimpleDateFormat df1 = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss aaa");
      System.out.println(df1.format(d1));

      System.out.println(df1.parse("星期四, 29 三月 2018 09:37:52 上午"));
      18-3-29 上午9:37
      星期四, 29 三月 2018 09:37:52 上午
      Thu Mar 29 09:37:52 CST 2018
    Date and Time PatternResult
    "yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
    "EEE, MMM d, ''yy" Wed, Jul 4, '01
    "h:mm a" 12:08 PM
    "hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
    "K:mm a, z" 0:08 PM, PDT
    "yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
    "EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
    "yyMMddHHmmssZ" 010704120856-0700
    "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
    "yyyy-MM-dd'T'HH:mm:ss.SSSXXX" 2001-07-04T12:08:56.235-07:00
    "YYYY-'W'ww-u" 2001-W27-3

    4. java.util.Calendar(日历)类

    Calendar是一个抽象基类,主用用于完成日期字段之间相互操作的功能

    获取Calendar实例的方法

    • 使用Calendar.getInstance()方法

    一个Calendar的实例是系统时间的抽象表示,通过get(int field)方法来取得想要的时间信息。比如YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY 、MINUTE、SECOND

    • public void set(int field,int value)
    • public void add(int field,int amount)
    • public final Date getTime()
    • public final void setTime(Date date)
         Calendar calendar = Calendar.getInstance();
            // 从一个 Calendar 对象中获取 Date 对象
            Date date = calendar.getTime();
            // 使用给定的 Date 设置此 Calendar 的时间
            calendar.setTime(date);
            calendar.set(Calendar.DAY_OF_MONTH, 8);
            System.out.println("当前时间日设置为8后,时间是:" + calendar.getTime());
            calendar.add(Calendar.HOUR, 2);
            System.out.println("当前时间加2小时后,时间是:" + calendar.getTime());
            calendar.add(Calendar.MONTH, -2);
            System.out.println("当前日期减2个月后,时间是:" + calendar.getTime());
    当前时间日设置为8后,时间是:Thu Mar 08 09:56:14 CST 2018
    当前时间加2小时后,时间是:Thu Mar 08 11:56:14 CST 2018
    当前日期减2个月后,时间是:Mon Jan 08 11:56:14 CST 2018

     

  • 相关阅读:
    linux基础学习-8.1-无法远程连接服务器常见原因
    schema约束文档 根元素的写法
    用双重for循环生成九九乘法表
    Random类、String类的一些常用方法
    Random()方法结合Scanner类实现猜数游戏
    使用System类和Date类来计算自己从出生到现在度过了多少时间
    获取map集合中键和值的三种方式
    斗地主实现洗牌发牌功能
    集合框架<一>
    动手动脑2
  • 原文地址:https://www.cnblogs.com/pjlhf/p/8668052.html
Copyright © 2020-2023  润新知