使用日期格式

日期格式

毫秒值的概念和作用

毫秒值表示自19701100:00:00GMT以来经过的毫秒数

Date用法

/**
 * Date类的空指针构造方法:
 * Date() 获取的就是当前系统的日期时间
 */
private static void data01(){
    Date date = new Date();
    System.out.println(date);//Sat Aug 14 10:34:52 CST 2021
}

/**
 *Data类的带参构造方法:
 *  Date(long):传递毫秒值,把毫秒值转换成Date日期
 */
private static void data02(){
    Date date = new Date(0L);
    System.out.println(date);
    Date date1 = new Date(5646546516515L);
    System.out.println(date1);
}

/**
 * 成员方法
 * 把日期转成毫秒值
 */
private static void data03(){
    Date date = new Date();
    long time = date.getTime();
    System.out.println(time);
}

DateFormat使用

使用DateFormat类中的方法parse,把文本解析为日期
使用步骤:
1.创建SimpleDateFormat对象,构造方法中传递指定的模式
2.调用SimpleDateFormat对象中的方法parse,把符合构造方法中模式的字符串,解析为Date日期
注意:
public Date parse(String source) throws ParseException
parse方法声明了一个异常叫ParseException
如果字符串和构造方法的模式不一样,那么程序就会抛出此异常
调用一个抛出了异常的方法,就必须的处理这个异常,要么throws继续抛出这个异常,要么try catch自己处理

public static void demo01(){
    //创建SimpleDateFormat对象,构造方法中传递指定的模式
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = new Date();
    String text = sdf.format(date);
    System.out.println(date);
    System.out.println(text);
}
public static void demo02(){
    //调用SimpleDateFormat对象中的方法parse,把符合构造方法中模式的字符串,解析为Date日期
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    try {
        Date date = sdf.parse("2021-08-14 14:23:35");
        System.out.println(date);
        System.out.println(date.getTime());
    }catch (Exception e){
        System.out.println("内容格式不正确");
    }
}

练习

计算一个人出生了多长时间
package day0814.dataDemo;

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

/**
 * @author 王旭阳
 */
public class Demo02 {
    //程序入口
    public static void main(String[] args) throws ParseException {
        kaiShi();
    }
    //调用计算方法
    public static void kaiShi() throws ParseException {
        System.out.println("你出生了"+zhaun2(zhaun(scanner1())));
    }
    //1.输入出生的日期
    public static String scanner1(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入出生年份");
        String next = scanner.next();
        System.out.println("请输入出生月份");
        String next1 = scanner.next();
        System.out.println("请输入出生日");
        String next2 = scanner.next();
        return next+"年"+next1+"月"+next2+"日";
    }
    //2.将出生日期转换成为毫秒值
    public static long zhaun(String zhuan) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
        return sdf.parse(zhuan).getTime();
    }
    //3.计算出生天数
    public static long zhaun2(long a){
        long l1 = (System.currentTimeMillis() - a) / 24 / 60 / 60 / 1000;
        return l1;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值