mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2025-01-10 17:30:26 +00:00
89 lines
4.8 KiB
Plaintext
89 lines
4.8 KiB
Plaintext
|
created: 20140418142957325
|
|||
|
modified: 20241206120335412
|
|||
|
original-modified: 20230226144359284
|
|||
|
tags: Features
|
|||
|
title: DateFormat
|
|||
|
ja-title: 日付形式
|
|||
|
type: text/vnd.tiddlywiki
|
|||
|
|
|||
|
日付のデフォルトの表現は、<<.value 20211002153802059>>のようなコンパクトな文字列です。関連するテンプレートは`[UTC]YYYY0MM0DD0hh0mm0ss0XXX`です。たとえば、<<.field created>>や<<.field modified>>のフィールドは次のように保存されます。
|
|||
|
|
|||
|
この文字列の表示形式は、テンプレートで制御できます。たとえば、<<.field modified>>フィールドをトランスクルードすると、日付を<<.value "Sat Oct 02 2021 17:40:50 GMT+0200 (Central European Summer Time)">>として表示するテンプレートが自動的に適用されます。いくつかのウィジェットとフィルター演算子では、テンプレートを手動で指定できます。たとえば、ViewWidgetです:
|
|||
|
|
|||
|
`<$view field=modified format=date template="DDth mmm YYYY 0hh:0mm:0ss" />`
|
|||
|
|
|||
|
日付文字列は次の置換で処理されます:
|
|||
|
|
|||
|
|!トークン |!置き換えられる値 |
|
|||
|
|`ddddd` |<<.from-version "5.2.0">> 年間日数 (1から365まで、うるう年の場合は366まで) |
|
|||
|
|`0ddddd` |<<.from-version "5.2.0">> 年間日数(ゼロ埋め) (001から 365まで、うるう年の場合は366まで) |
|
|||
|
|`DDD` |曜日 (例、"月曜") |
|
|||
|
|`ddd` |曜日(短縮) (例、"月") |
|
|||
|
|`dddd` |<<.from-version "5.2.0">> 月曜始まり日曜終わりの1から7までに曜日番号 |
|
|||
|
|`DD` |日付 |
|
|||
|
|`0DD` |日付(ゼロ埋め) |
|
|||
|
|`DDth` |日付('日'付き) |
|
|||
|
|`WW` |週番号(ISO-8601) |
|
|||
|
|`0WW` |週番号(ISO-8601)(ゼロ埋め) |
|
|||
|
|`MMM` |月 (例、"7月") |
|
|||
|
|`mmm` |月(短縮) (例、"7月") |
|
|||
|
|`MM` |月番号 |
|
|||
|
|`0MM` |月番号(ゼロ埋め) |
|
|||
|
|`YYYY` |年 |
|
|||
|
|`YY` |年(下2桁) |
|
|||
|
|`wYYYY` |週番号に関する年 |
|
|||
|
|`aYYYY` |<<.from-version "5.1.23">> 年(負の日付を正として表示) |
|
|||
|
|`wYY` |週番号に関する年(下2桁) |
|
|||
|
|`{era:BCE||CE}` |<<.from-version "5.1.23">> 負、ゼロ、正の年に対して異なる文字列を表示 (下記参照) |
|
|||
|
|`hh` |時 |
|
|||
|
|`0hh` |時(ゼロ埋め) |
|
|||
|
|`hh12` |時(12時間表記) |
|
|||
|
|`0hh12` |時(12時間表記)(ゼロ埋め) |
|
|||
|
|`mm` |分 |
|
|||
|
|`0mm` |分(ゼロ埋め) |
|
|||
|
|`ss` |秒 |
|
|||
|
|`0ss` |秒(ゼロ埋め) |
|
|||
|
|`XXX` |ミリ秒 |
|
|||
|
|`0XXX` |ミリ秒(ゼロ埋め) |
|
|||
|
|`am` or `pm` |AM/PMインジケータ(小文字) |
|
|||
|
|`AM` or `PM` |AM/PMインジケータ(大文字) |
|
|||
|
|`TZD` |タイムゾーンオフセット |
|
|||
|
|`TIMESTAMP` |<<.from-version "5.2.4">> 1970年1月1日([[ECMAScriptエポック|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#the_ecmascript_epoch_and_timestamps]])からのミリ秒数 |
|
|||
|
|`\x` |特別な意味を持つ文字をエスケープするために使用 |
|
|||
|
|`[UTC]`|表現された日付をUTCにタイムシフトします。フォーマット文字列の先頭になければなりません。|
|
|||
|
|
|||
|
その他のテキストは変更されずに渡され、カンマ、コロン、またはその他の区切り文字が使用されることに注意してください。
|
|||
|
|
|||
|
この`{era:BCE||CE}`表記法では、負、ゼロ、正の年に対して異なる文字列を指定できます。たとえば、`{era:BC|Z|AD}`は、負の年の場合は<<.value BC>>、正の年の場合は<<.value AD>>、0年の場合は<<.value Z>>が表示されます。
|
|||
|
|
|||
|
|
|||
|
! 例
|
|||
|
|
|||
|
|!テンプレート |!Output |
|
|||
|
|`DDth MMM YYYY` |16日 2月 2011 |
|
|||
|
|`DDth MMM \M\M\M YYYY` |16日 2月 MMM 2011 |
|
|||
|
|`DDth mmm YYYY 0hh:0mm:0ss` |16日 2月 2011 11:38:42 |
|
|||
|
|
|||
|
!! <<.value TIMESTAMP>>を時間差を計算するために使用する
|
|||
|
|
|||
|
次のようにして、2つの日付の差を計算できます:
|
|||
|
|
|||
|
# 両方の日付をタイムスタンプに変換します
|
|||
|
# 後の日付を前の日付から引きます -- どちらが早いかわからない場合は、減算後に絶対値を取得する<<.olink "abs">>演算子を使用します
|
|||
|
# 結果の数値を選択した間隔のミリ秒数で割ります
|
|||
|
|
|||
|
以下は、現在のTiddlerの作成から最終更新までの経過日数を計算する例です:
|
|||
|
|
|||
|
* <<.field created>>フィールドと<<.field modified>>フィールドをタイムスタンプに変換します
|
|||
|
* その差を1日のミリ秒数である<<.value 86400000>>で割ります
|
|||
|
** 1000ミリ秒/秒 × 60秒/分 × 60分/時 × 24時間/日 = 86,400,000 ミリ秒/日
|
|||
|
|
|||
|
<$macrocall $name=".example" n="0" eg="""<$let
|
|||
|
timestamp-modified={{{ [{!!modified}format:date[TIMESTAMP]] }}}
|
|||
|
timestamp-created={{{ [{!!created}format:date[TIMESTAMP]] }}}
|
|||
|
difference-days={{{ [<timestamp-modified>subtract<timestamp-created>divide[86400000]floor[]] }}}>
|
|||
|
|
|||
|
* ''更新日:'' <$text text={{{ [{!!modified}format:date[YYYY-0MM-0DD]] }}}/>
|
|||
|
* ''作成日:'' <$text text={{{ [{!!created}format:date[YYYY-0MM-0DD]] }}}/>
|
|||
|
* ''日付の差:'' <<difference-days>>日
|
|||
|
</$let>"""/>
|