天天看点

Java学习路线-19:日期操作类Date、SimpleDateFormat第9 章 : 日期操作类

第9 章 : 日期操作类

36 Date日期处理类

Date类只是对long数据的一种包装

Date无参构造函数

public Date() {
        this(System.currentTimeMillis());
    }      

示例

import java.util.Date;

class Demo {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);
        // Sun Nov 17 20:39:41 CST 2019

        // 日期转long
        long time = date.getTime();
        System.out.println(time);
        // 1573994381189

        // long转日期 增加1分钟
        Date date1 = new Date(time + 60 * 1000);
        System.out.println(date1);
        // Sun Nov 17 20:40:41 CST 2019
        
    }
}      

37 SimpleDateFormat日期处理类

继承关系

abstract Format
    -abstract DataFormat
        -SimpleDateFormat      
// 日期格式化
public final String format (Object obj)

// 字符串转日期
public Date parse(String source) throws ParseException
      

日期格式化

年 yyyy
月 MM
日 dd
时 HH
分 mm
秒 ss
毫秒 SSS      

指定字符串定义的时候,日期数字超过指定的范围会自动进位

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

class Demo {
    public static void main(String[] args) {
        Date date = new Date();

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");

        // 日期转字符串
        String dateStr = sdf.format(date);
        System.out.println(dateStr);
        // 2019-11-17 20:11:35

        // 字符串转日期
        try {
            System.out.println(sdf.parse(dateStr));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        // Sun Nov 17 20:00:35 CST 2019

    }
}      

数字格式化

import java.text.NumberFormat;

class Demo {
    public static void main(String[] args) {
        double money = 323223210.09;

        System.out.println(NumberFormat.getInstance().format(money));
        // 323,223,210.09
    }
}      

String 字符串可以向任何类型转换