web-dev-qa-db-ja.com

$ dateの形式をVMファイルで選択するにはどうすればよいですか?

$ dateを「曜日、月日、年」として定義しています。例:2013年2月26日火曜日

$ dateが定義されている場所がわかりませんが、この$ date変数に時間を追加するか、時間を使用して変数を作成したいのですが、.vmファイルにそれをどのように配置できますか?

15
aF.

VelocityはDateToolクラスを提供します 日付をフォーマットします。このクラスのインスタンスをベロシティコンテキストに配置する必要があります。

context.add("date", new DateTool());

次に、次のようなフォーマットコマンドを使用できます。

$date.format('EEE, MMM d, yyyy at ha', $myDate)

Tuesday, February 26, 2013 at 11AMのようなものを取得するには

23

追加の依存関係やコードの変更を必要としない代替ソリューション:

#set( $String = '' )##
$String.format('%1$tY%1$tm%1$td%1$tH%1$tM%1$tS', $date)

twoother の回答から結合されます。

7
Vadzim

ドキュメントから:

Symbol   Meaning                 Presentation        Example
   ------   -------                 ------------        -------
   G        era designator          (Text)              AD
   y        year                    (Number)            1996
   M        month in year           (Text & Number)     July & 07
   d        day in month            (Number)            10
   h        hour in am/pm (1~12)    (Number)            12
   H        hour in day (0~23)      (Number)            0
   m        minute in hour          (Number)            30
   s        second in minute        (Number)            55
   S        millisecond             (Number)            978
   E        day in week             (Text)              Tuesday
   D        day in year             (Number)            189
   F        day of week in month    (Number)            2 (2nd Wed in July)
   w        week in year            (Number)            27
   W        week in month           (Number)            2
   a        am/pm marker            (Text)              PM
   k        hour in day (1~24)      (Number)            24
   K        hour in am/pm (0~11)    (Number)            0
   z        time zone               (Text)              Pacific Standard Time
   '        escape for text         (Delimiter)
   ''       single quote            (Literal)           '

   Examples: "E, MMMM d" will result in "Tue, July 24"
             "EEE, M-d (H:m)" will result in "Tuesday, 7-24 (14:12)"

それが役に立てば幸い

4
Matt Sich

裏付けの1つJavaクラスはそれを Context に入れる必要があります。日付を別の形式にしたい場合は、そのクラスで行うことができます。

もう1つのオプションは、生のDateオブジェクトをコンテキストに入れ、Velocityテンプレートのメソッドを呼び出してフォーマットすることです。必要に応じて、Apache Commons DateUtilsまたは別のヘルパークラスをテンプレートに渡すこともできます( this answer を参照)。

2
Evan Haas