Java基础(日期的获取与转换)

1.日期的获取

Date date=new Date();
DateFormat dt=DateFormat.getDateTimeInstance();
//将时间打印成本地格式
System.out.println(dt.format(date));
//简便的写法
String datetime=DateFormat.getDateTimeInstance().format(date);
System.out.println(datetime);

运行结果:

2.日期格式化

DateFormat df=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date=new Date();
String s=df.format(date);
System.out.println(s);

运行结果:

注意:

上边的yyyy-MM-dd为指定格式,指定格式的具体规则我们可参照SimpleDateFormat类的说明,该规则是在一个字符串中,会将 以下字母替换成对应时间组成部分,剩余内容原样输出

  • 当出现y时,会将y替换成年
  • 当出现M时,会将M替换成月
  • 当出现d时,会将d替换成日
  • 当出现H时,会将H替换成时
  • 当出现m时,会将m替换成分
  • 当出现s时,会将s替换成秒

3.日期的转换

 String s="2019年6月24日 11:13:12";
 DateFormat df=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
 Date date=df.parse(s);
 System.out.println(date.toLocaleString());

说明:将字符串解析生成一个日期。

  1. format方法,用来将Date对象转换成String
  2. parse方法,用来将String转换成Date(转换时,该String要符合指定格式,否则不能转换)。
  3. format、parse方法会抛出一个异常,只需要在main方法中抛出异常

        public static void main(String[] args) throws ParseException

4.案例

求自己出生了多少天

代码示例:

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

public class demo2 {
    public static void main(String[] args) throws ParseException {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你的出生日期:格式(1998-1-1)");
        String s=sc.next();
        DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
        //把字符串转换为日期
        Date date=df.parse(s);
        //算出生的毫秒数
        long time=date.getTime();
        //当前时间的毫秒数
        long currenttime=System.currentTimeMillis();
        long days=(currenttime-time)/(60*60*24*1000);
        System.out.println("您出生已经"+days+"了");
    }
}

运行结果:

发布了75 篇原创文章 · 获赞 164 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_41679818/article/details/93746400