JAvaのDateとDateFormat
4641 ワード
Date、DateFormatの使用
システムの時間を取得するには、System.currentTimeMillis()メソッドを使用します.たとえば、次のようにします. DateDemo.java
実行結果には、1970年1月1日からシステム取得までの時間が経過したミリ秒数、例えば1115346430703という数字が表示されますが、このような数字の意味が何なのかを正確に理解する人はいません.Dateカテゴリを使用して、この数字をより意味のあるものにすることができます.たとえば、次のようにします. DateDemo.java
実行結果は次のとおりです.
Fri May 06 10:31:13 GMT+08:00 20051115346673531
Dateオブジェクトを生成する場合、実際にはSystem.currentTimeMillis()を使用してシステム時間を取得し、toString()メソッドを使用すると、取得した1970年1月1日から現在までのミリ秒数をdow mon dd hh:mm:ss zzz yyyyのフォーマットに変更します.DateのgetTime()メソッドを使用するとミリ秒数を取得できます.日付時刻をフォーマットする場合は、DateFormatを使用してフォーマットできます.まず、サブクラスSimpleDateFormatの使用方法を見てみましょう. DateDemo.java
実行結果:
金曜日-05-06-2005
DateFormatはパソコン上のエリアに応じて表示時間フォーマットを設定し、EEは曜日、MMは月、ddは日付を表し、yyyyは西元で、各文字の設定にはそれぞれ意味があり、SimpleDateFormatのAPIを参照して各文字の設定の意味を説明することができます.DateFormatで指定したフォーマットから直接DateFormatのインスタンスを生成することもできます.たとえば、次のようになります. DateDemo.java
getDateTimeInstance()を使用してDateFormatインスタンスを取得する場合、指定できるパラメータは日付フォーマットと時間フォーマットであり、上記で指定したフォーマットはメッセージの詳細度によって区別され、実行結果は以下の通りです.
2005/5/6午前10:452005/5/6午前10:45:252005年5月6日午前10時45分25秒2005年5月6日金曜日午前10時45分25秒GMT+08:00
また、getDateInstance()を使用してDateFormatインスタンスを取得し、日付の領域表示方法を指定することもできます.たとえば、次のようにします. DateDemo.java
こちらはアメリカの時間表示方式を指定しており、実行結果は以下の通りです.
5/6/05May 6, 2005May 6, 2005Friday, May 6, 2005
転載先:http:/ /27091497.blog.163.com/blog/static/1180625020080404729285/
システムの時間を取得するには、System.currentTimeMillis()メソッドを使用します.たとえば、次のようにします.
package onlyfun.caterpillar;
public class DateDemo {
public static void main(String[] args) {
System.out.println(System.currentTimeMillis());
}
}
実行結果には、1970年1月1日からシステム取得までの時間が経過したミリ秒数、例えば1115346430703という数字が表示されますが、このような数字の意味が何なのかを正確に理解する人はいません.Dateカテゴリを使用して、この数字をより意味のあるものにすることができます.たとえば、次のようにします.
package onlyfun.caterpillar;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date.toString());
System.out.println(date.getTime());
}
}
実行結果は次のとおりです.
Fri May 06 10:31:13 GMT+08:00 20051115346673531
Dateオブジェクトを生成する場合、実際にはSystem.currentTimeMillis()を使用してシステム時間を取得し、toString()メソッドを使用すると、取得した1970年1月1日から現在までのミリ秒数をdow mon dd hh:mm:ss zzz yyyyのフォーマットに変更します.DateのgetTime()メソッドを使用するとミリ秒数を取得できます.日付時刻をフォーマットする場合は、DateFormatを使用してフォーマットできます.まず、サブクラスSimpleDateFormatの使用方法を見てみましょう.
package onlyfun.caterpillar;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date date = new Date();
DateFormat dateFormat =
new SimpleDateFormat("EE-MM-dd-yyyy");
System.out.println(dateFormat.format(date));
}
}
実行結果:
金曜日-05-06-2005
DateFormatはパソコン上のエリアに応じて表示時間フォーマットを設定し、EEは曜日、MMは月、ddは日付を表し、yyyyは西元で、各文字の設定にはそれぞれ意味があり、SimpleDateFormatのAPIを参照して各文字の設定の意味を説明することができます.DateFormatで指定したフォーマットから直接DateFormatのインスタンスを生成することもできます.たとえば、次のようになります.
package onlyfun.caterpillar;
import java.text.DateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date date = new Date();
DateFormat shortFormat =
DateFormat.getDateTimeInstance(
DateFormat.SHORT, DateFormat.SHORT);
DateFormat mediumFormat =
DateFormat.getDateTimeInstance(
DateFormat.MEDIUM, DateFormat.MEDIUM);
DateFormat longFormat =
DateFormat.getDateTimeInstance(
DateFormat.LONG, DateFormat.LONG);
DateFormat fullFormat =
DateFormat.getDateTimeInstance(
DateFormat.FULL, DateFormat.FULL);
System.out.println(shortFormat.format(date));
System.out.println(mediumFormat.format(date));
System.out.println(longFormat.format(date));
System.out.println(fullFormat.format(date));
}
}
getDateTimeInstance()を使用してDateFormatインスタンスを取得する場合、指定できるパラメータは日付フォーマットと時間フォーマットであり、上記で指定したフォーマットはメッセージの詳細度によって区別され、実行結果は以下の通りです.
2005/5/6午前10:452005/5/6午前10:45:252005年5月6日午前10時45分25秒2005年5月6日金曜日午前10時45分25秒GMT+08:00
また、getDateInstance()を使用してDateFormatインスタンスを取得し、日付の領域表示方法を指定することもできます.たとえば、次のようにします.
package onlyfun.caterpillar;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
public class DateDemo {
public static void main(String[] args) {
Date date = new Date();
Locale locale = new Locale("en", "US");
DateFormat shortFormat =
DateFormat.getDateInstance(
DateFormat.SHORT, locale);
DateFormat mediumFormat =
DateFormat.getDateInstance(
DateFormat.MEDIUM, locale);
DateFormat longFormat =
DateFormat.getDateInstance(
DateFormat.LONG, locale);
DateFormat fullFormat =
DateFormat.getDateInstance(
DateFormat.FULL, locale);
System.out.println(shortFormat.format(date));
System.out.println(mediumFormat.format(date));
System.out.println(longFormat.format(date));
System.out.println(fullFormat.format(date));
}
}
こちらはアメリカの時間表示方式を指定しており、実行結果は以下の通りです.
5/6/05May 6, 2005May 6, 2005Friday, May 6, 2005
転載先:http:/ /27091497.blog.163.com/blog/static/1180625020080404729285/