public class DateSet
extends java.lang.Object
DateSet.java は、入力ファイルの日付,時刻キーワードを実行時の日時で変換して,出力します。
変換には,$(yyyy)の形式で指定し,カッコの文字列は,java.text.SimpleDateFormat で使用する,
時刻フォーマット構文を用います。
また、引数に keys,vals を渡すことで、$(KEY1) 文字列を VAL1 文字列と置き換えます。
サンプルファイル
$(yyyy/MM/dd) 年/月/日を表します。
$(yy) 年だけを2桁で表します。
$(MM) 月を2桁 (02,03など)で表します。
$(dd) 日を2桁 (02,03など)で表します。
$(HH:mm:ss) 時:分:秒を表します。
$(MMMMMMMM) 月をフルスペルで表します。
$(MMM) 月を3桁固定(Mar,Aplなど)で表します。
$(EEEEEEEE) 曜日をフルスペルで表します。
$(EEE) 曜日を3桁固定(Sun,Monなど)で表します。
// 7.0.1.3 (2018/11/12) 2019/01/01 2030/01/01
$(ATIME) 通算秒数( new Date().getTime()/1000 ) の 10桁文字列 1546268400 1893423600
$(BTIME) 通算分数( new Date().getTime()/60000 ) の 8桁文字列 25771140 31557060
※ BTIME が桁あふれするのは、2160/02/18 です。
時刻フォーマット構文
記号 意味 表示 例
------ ------- ------------ -------
G 年号 (テキスト) AD
y 年 (数値) 1996
M 月 (テキスト & 数値) July & 07
d 日 (数値) 10
h 午前/午後の時 (1~12) (数値) 12
H 一日における時 (0~23) (数値) 0
m 分 (数値) 30
s 秒 (数値) 55
S ミリ秒 (数値) 978
E 曜日 (テキスト) 火曜日
D 年における日 (数値) 189
F 月における曜日 (数値) 2 (7月の第2水曜日)
w 年における週 (数値) 27
W 月における週 (数値) 2
a 午前/午後 (テキスト) PM
k 一日における時 (1~24) (数値) 24
K 午前/午後の時 (0~11) (数値) 0
z 時間帯 (テキスト) PDT
' テキスト用エスケープ
'' 単一引用符 '
パターン文字のカウントによって、そのフォーマットが決まります。
(テキスト): 4以上: フル形式を使用します。4以下: 短いまたは省力された形式があれば、それを使用します。
(数値): 最小桁数。これより短い数値は、この桁数までゼロが追加されます。年には特別な処理があります。
つまり、'y'のカウントが2なら、年は2桁に短縮されます。
(テキスト & 数値): 3以上ならテキストを、それ以外なら数値を使用します。
パターンの文字が['a'..'z']と['A'..'Z']の範囲になければ、その文字は引用テキストとして扱われます。
たとえば、':'、'.'、' '、'#'、'@'などの文字は、単一引用符に囲まれていなくても、
結果の時刻テキストに使用されます。
無効なパターン文字がパターンに入っていると、フォーマットや解析で例外がスローされます。
USロケールを使った例:
フォーマットパターン 結果
-------------------- ----
"yyyy.MM.dd G 'at' hh:mm:ss z" ⇒ 1996.07.10 AD at 15:08:56 PDT
"EEE, MMM d, ''yy" ⇒ Wed, July 10, '96
"h:mm a" ⇒ 12:08 PM
"hh 'o''''clock' a, zzzz" ⇒ 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" ⇒ 0:00 PM, PST
"yyyyy.MMMMM.dd GGG hh:mm aaa" ⇒ 1996.July.10 AD 12:08 PM| コンストラクタと説明 |
|---|
DateSet()
デフォルトコンストラクター
Mapの初期値を設定しておきます。
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
byte[] |
change(byte[] inByte)
現在日付、時刻をフォーマット指定個所に埋め込みます。
|
java.lang.String |
changeForm(java.lang.String form)
パラメータの変換、および、現在日付、時刻のフォーマット変換を行います。
|
java.lang.String |
changeString(java.lang.String form)
パラメータの変換、および、現在日付、時刻のフォーマット変換を行います。
|
static java.lang.String |
getDate()
現在日付、時刻を指定のフォーマットで文字列に変換して返します。
|
static java.lang.String |
getDate(long time,
java.lang.String form)
指定時刻を指定のフォーマットで文字列に変換して返します。
|
static java.lang.String |
getDate(java.lang.String form)
現在時刻を指定のフォーマットで文字列に変換して返します。
|
static void |
main(java.lang.String[] args)
入力ファイルの時刻フォーマットを変換して出力ファイルに書き込みます。
|
void |
setParamMap(java.util.concurrent.ConcurrentMap pMap)
フォーマット解析時に置き換える キーと値のMapを設定します。
|
public DateSet()
public void setParamMap(java.util.concurrent.ConcurrentMap pMap)
pMap - 置き換え元のMappublic byte[] change(byte[] inByte)
inByte - 変換元バイト配列(可変長引数)public java.lang.String changeForm(java.lang.String form)
form - フォーム文字列 ( 例 "yyyy/MM/dd HH:mm:ss" )public java.lang.String changeString(java.lang.String form)
form - フォーム文字列 ( 例 "yyyy/MM/dd HH:mm:ss" )public static java.lang.String getDate()
public static java.lang.String getDate(java.lang.String form)
form - フォーム文字列 ( 例 "yyyy/MM/dd HH:mm:ss.SSS" )SimpleDateFormatpublic static java.lang.String getDate(long time,
java.lang.String form)
time - 指定のカレントタイムのロング値form - フォーム文字列 ( 例 "yyyy/MM/dd HH:mm:ss.SSS" )public static void main(java.lang.String[] args)
throws java.lang.Throwable
args - 引数配列( 入力ファイル 出力ファイル キー1 値1 ・・・java.lang.Throwable - なんらかのエラーが発生した場合。Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.