16

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

$date がどこで定義されているかわかりませんが、この $date 変数に時間を追加するか、時間を含む変数を作成したいのですが、どうすれば .vm ファイルに入れることができますか?

4

4 に答える 4

30

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

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

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

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

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

于 2013-02-26T15:39:34.767 に答える
8

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

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

他の2つ の回答から組み合わせました。

于 2015-06-25T18:04:43.533 に答える
5

ドキュメントから:

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)"

それが役立つことを願っています

于 2015-09-14T14:28:10.077 に答える
2

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

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

于 2013-02-26T15:41:08.110 に答える