SimpleDateFormat类

本文介绍了Java中的SimpleDateFormat类,用于日期和字符串之间的转换。示例代码展示了如何按照不同格式进行转换,包括日期转字符串和字符串转日期的操作。同时提供了一个练习案例,计算出生日期到当前日期的天数,并推算出10000天后的日期。
摘要由CSDN通过智能技术生成
  1. 什么是SimpleDateFormat
    它是一个能将date对象和字符串对象互相转换的类,可以按照约定好的格式转换,操作方便。

  2. 日期转字符串操作

    • 具体类型查询文档
public class SimpleDate {
    public static void main(String[] args) {
        //实例化日期
        Date now = new Date();
        System.out.println(now);

        //使用SimpleDateFormat转换
        /*
        * 2020-2-17  18:05:33
        * yyyy-MM-dd HH:mm:ss
        *
        * 2020/2/17
        * yyyy/MM/dd
        *
        * 2020年2月17日
        * yyyy年MM月dd日
        * */

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a E");
        //转换
        String msg = sdf.format(now);
        System.out.println(msg);
    }
}
  1. 字符串转日期
public class SimpleDate2 {
    public static void main(String[] args) throws ParseException {
        String date = "2008-8-8 20:08:08";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        //Date parse(String str);
        //将字符串转换为日期
        Date time = sdf.parse(date);

        System.out.println(time);
        //获得偏移量
        System.out.println(time.getTime());
    }
}
  • 练习
public class SimpleDateDemo1 {
    public static void main(String[] args) throws ParseException {
        Scanner scr = new Scanner(System.in);
        System.out.println("输入生日");
        String birth = scr.nextLine();

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        //生日的date对象
        Date birthday = sdf.parse(birth);
        //今天的Date对象
        Date now = new Date();
        //计算获得毫秒差
        long time = now.getTime() - birthday.getTime();
        time = time/1000/60/60/24;
        System.out.println("一共活了"+time+"天 ");

        //获得生日时间偏离量
        time = birthday.getTime();
        //在生日的时间偏离量上加上10000天的毫秒数
        time = time+10000L*24*60*60*1000;
        //实例化Date对象,在构造中赋值时间偏离量
        Date date = new Date(time);
        //将date对象转换为字符串对象
        String anniv = sdf.format(date);

        System.out.println(anniv);
    }
}
  • 10000L为long类型,第一个是long,乘法后面的自动转型为long
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值