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());
説明:文字列を解析して日付を生成します。
- Formatメソッド。DateオブジェクトをStringに変換するために使用されます
- parseメソッドは、文字列を日付に変換するために使用されます(変換時、文字列は指定された形式に準拠する必要があります。それ以外の場合は変換できません)。
- formatメソッドとparseメソッドは例外をスローしますが、メインメソッドで例外をスローするだけで済みます
public static void main(String [] args)が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+"了");
}
}
演算結果: