2008年09月12日(金) [長年日記]
■ [java] Calendarを文字列で出力
java.util.Calendarの内容を文字列で出力する方法を覚えられないのでメモしておく。
- Calendar#toString() ではうまくいかない。
- java.text.DateFormat を使う必要があるみたい。が、このクラスを使うにはCalendarをDateに変換しないといけない。
- java.text.SimpleDateFormat を使うと書式を自由に指定できる。
- (追記)String.format() に日付時刻用の書式文字列を使う方法もあった。これだとCalendarをそのまま引数に与えられる。
以下、サンプルプログラムとその出力。
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class DateTest {
public static void main(String[] args) {
DateFormat format1 = DateFormat.getInstance();
DateFormat format2 = DateFormat.getDateInstance();
DateFormat format3 = DateFormat.getDateTimeInstance();
DateFormat format4 = DateFormat.getDateTimeInstance(DateFormat.LONG,
DateFormat.LONG);
DateFormat format5 = new SimpleDateFormat("yyyy-MM-dd-H-m-s");
Calendar now = Calendar.getInstance();
System.out.println("toString(): " + now.toString());
System.out.println("format1 : " + format1.format(now.getTime()));
System.out.println("format2 : " + format2.format(now.getTime()));
System.out.println("format3 : " + format3.format(now.getTime()));
System.out.println("format4 : " + format4.format(now.getTime()));
System.out.println("format5 : " + format5.format(now.getTime()));
// 追記
System.out.println("%tF %<tT : " + String.format("%tF %<tT", now));
}
}
toString(): java.util.GregorianCalendar[time=1221214782327,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=10,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2008,MONTH=8,WEEK_OF_YEAR=37,WEEK_OF_MONTH=2,DAY_OF_MONTH=12,DAY_OF_YEAR=256,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=7,HOUR_OF_DAY=19,MINUTE=19,SECOND=42,MILLISECOND=327,ZONE_OFFSET=32400000,DST_OFFSET=0] format1 : 08/09/12 19:19 format2 : 2008/09/12 format3 : 2008/09/12 19:19:42 format4 : 2008/09/12 19:19:42 JST format5 : 2008-09-12-19-19-42 %tF %<tT : 2008-09-12 19:19:42
■ [windows] バッチファイルでのエスケープ
Windowsのバッチファイルでエスケープをしたい時は「^」を使えばいいみたい。
echo ohayo-^ gozaimasu
のようにして改行をエスケープすると、
ohayo-gozaimasu
と出力された。
■ [tdiary] 過去の書影の一部が表示されなくなっていた
過去の日記を見ていたら書影が表示されていないことに気付いた。表示されるものとされないものがある。
キャッシュを消せば直るかと思って試したが直らなかった。が、cacheディレクトリをよく見るとamazonというサブディレクトリがあるじゃないか。このディレクトリを削除したら書影が表示されるようになった。
cacheの下にはmy_sequelというディレクトリもあった。my-sequel.rbがおかしくなったらここを消せばいいんだな。
■ やること
- 請求書
[ツッコミを入れる]