[java] SimpleDateFormatを使って、日付フォーマット。
2008/02/13
java
日付
Javaです。
年に何度か、コーディングしないといけなくなる日付フォーマット関連です。
あるシステムでは日付を1966/04/01というふうに扱います。
こちらでは、19660401として扱いたいのですが...
ということが多々あります。
ところで、1966/04/01なら/をとりのぞけば、19660401になりますが、1966/4/1とかだとなんか面倒です。
この辺、/で区切って、一桁だったら頭に0つけるとかでもありですね。
で
java.text.SimpleDateFormatです。
yyyy/MM/dd
というフォーマットを使ってみました。
parseというメソッドで、Date型に
formatというメソッド、文字列表現に。
小文字のmmだと「分」
大文字のDDだと「年における日」
となります。
package datefromat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestA {
public static void main(String[] args) throws ParseException {
String d = "1966/4/1";
String d2 = "1966/04/01";
System.out.println(date("yyyy/MM/dd", d));
System.out.println(date("yyyy/MM/dd", d2));
if(date("yyyy/MM/dd", d).equals(date("yyyy/MM/dd", d2))){
System.out.println("OK");
}
System.out.println(toyyyyMMdd("yyyy/MM/dd", d));
System.out.println(toyyyyMMdd("yyyy/MM/dd", d2));
}
static public Date date(String format, String d) throws ParseException{
Date date = new SimpleDateFormat(format).parse(d);
return date;
}
static public String toyyyyMMdd(String format, String d) throws ParseException{
Date date = new SimpleDateFormat(format).parse(d);
return new SimpleDateFormat("yyyyMMdd").format(date);
}
}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestA {
public static void main(String[] args) throws ParseException {
String d = "1966/4/1";
String d2 = "1966/04/01";
System.out.println(date("yyyy/MM/dd", d));
System.out.println(date("yyyy/MM/dd", d2));
if(date("yyyy/MM/dd", d).equals(date("yyyy/MM/dd", d2))){
System.out.println("OK");
}
System.out.println(toyyyyMMdd("yyyy/MM/dd", d));
System.out.println(toyyyyMMdd("yyyy/MM/dd", d2));
}
static public Date date(String format, String d) throws ParseException{
Date date = new SimpleDateFormat(format).parse(d);
return date;
}
static public String toyyyyMMdd(String format, String d) throws ParseException{
Date date = new SimpleDateFormat(format).parse(d);
return new SimpleDateFormat("yyyyMMdd").format(date);
}
}
: