logoWebRelease 2 ユーザーズマニュアル
Version 2.75Y 版
menu
1章 はじめに
  • 1. はじめに
  • 2. WebRelease の利用環境
  • 3. 製品のライセンスについて
2章 ユーザ管理
  • 1. WebRelease のユーザ管理
  • 2. ユーザの登録
  • 3. ユーザの休止
  • 4. ユーザの削除
  • 5. ログインユーザ一覧
  • 6. ログイン履歴
  • 7. ユーザ登録情報の一括処理
3章 サイトの作成
  • 1. サイトの作成
  • 2. サイト設定
  • 3. スタッフ設定
    • 1. スタッフごとのテンプレート設定
    • 2. スタッフのフォルダへのアクセス制限
    • 3. スタッフの承認ステップ
    • 4. スタッフの解任
  • 4. サイトリソース
    • 1. リソースの登録
    • 2. リソースの編集
    • 3. リソースの一括移動
    • 4. リソース名の一括設定
    • 5. リソースの一括削除
    • 6. リソースフォルダ
  • 5. 辞書の管理
  • 6. 外部リンクのチェック
  • 7. サイトのエキスポート
  • 8. サイトのインポート
  • 9. サイトの閉鎖
  • 10. サイトの削除
  • 11. サイトの操作履歴
4章 FTPの設定
  • 1. FTP の設定
  • 2. プライマリチャネルの設定
  • 3. FTP 記録の参照
  • 4. FTP の実行状況
  • 5. FTP 予約(定時起動)の設定
5章 テンプレート
  • 1. テンプレート
  • 2. テンプレートの作成
  • 3. 文書型の定義
  • 4. 要素のタイプ
    • 1. 1行テキスト
    • 2. 複数行テキスト
    • 3. WYSIWYG エディタ
    • 4. ラジオボタン
    • 5. ポップアップボタン
    • 6. チェックボックス
    • 7. 年月日/時分/秒
    • 8. 目次
    • 9. リンク
    • 10. イメージ (GIF/JPG/PNG)
    • 11. 添付ファイル
    • 12. XMLリーダ
    • 13. コンポーネント
    • 14. グループ項目
    • 15. セレクタ
    • 16. 各要素に共通の設定項目
  • 5. テンプレートの展開
    • 1. 要素参照
    • 2. 関数呼び出し
    • 3. 演算子
    • 4. テンプレートリソース
    • 5. リソース参照
    • 6. メソッド
    • 7. 拡張タグ wr-if wr-then wr-else
    • 8. 拡張タグ wr-switch wr-case wr-default
    • 9. 拡張タグ wr-conditional wr-cond
    • 10. 拡張タグ wr-for
    • 11. 拡張タグ wr-break
    • 12. 拡張タグ wr-variable
    • 13. 拡張タグ wr-append
    • 14. 拡張タグ wr-clear
    • 15. 拡張タグ wr-return
    • 16. 拡張タグ wr-error
    • 17. 拡張タグ wr-- と wr-comment
  • 6. WYSIWYG エディタ設定
  • 7. テンプレート・プロファイラ
  • 8. テンプレートのリビジョン
  • 9. テンプレートのダウンロード
  • 10. テンプレートのアップロード
  • 11. テンプレートの上書きアップロード
  • 12. テンプレートのフォルダ
  • 13. テンプレートの状態
  • 14. テンプレートの削除
  • 15. ページ作成後のテンプレート修正
  • 16. 入力フィールドの短縮表示
  • 17. 作成したページの一覧
  • 18. テンプレートを利用可能なスタッフの設定
  • 19. テンプレートの操作履歴
  • 20. テンプレートを参照している目次の一覧
  • 21. テンプレートの検索
6章 コンポーネント
  • 1. コンポーネント
  • 2. コンポーネントの使用例
  • 3. コンポーネントとセレクタ
7章 ページの作成
  • 1. ページの作成の手順
  • 2. ページのプレビュー
  • 3. 実機でのプレビュー
  • 4. ページの状態
  • 5. ページの編集と編集完了
  • 6. ページリソース
    • 1. リソースの登録
    • 2. リソースの編集
    • 3. リソースの一括移動
    • 4. リソースの一括削除
    • 5. リソースフォルダ
  • 7. ページの公開と公開終了
  • 8. ページの削除
  • 9. ページのリビジョン管理
  • 10. ページのリビジョン間の比較表示
  • 11. リンク元一覧
  • 12. ページ内の外部リンク一覧
  • 13. ページの公開状況
  • 14. スケジュール一覧
  • 15. フォルダ
  • 16. バージョニングフォルダ
  • 17. ページの一括処理
  • 18. 一括ページ登録
  • 19. html と関連リソースの zip 取り込み
  • 20. WYSIWYG エディタの使い方
  • 21. Markdown の使い方
  • 22. ページの操作履歴
  • 23. コンテンツ中の語句のチェック
  • 24. ページの検索
8章 マルチデバイス配信
  • 1. 多チャネル化
  • 2. チャネル別コンテンツの生成
  • 3. チャネル選択機能
9章 承認プロセスの設定
  • 1. 承認ステップの定義
  • 2. 承認プロセスの定義
  • 3. 承認プロセスをフォルダに関連付ける
  • 4. 承認プロセスによる公開管理
    • 1. ページの公開承認依頼
    • 2. 承認と差戻
    • 3. 承認プロセスとページの公開終了
    • 4. 承認依頼フォルダ
    • 5. 一括承認依頼
    • 6. 一括承認
    • 7. 緊急対応としてのページの公開と公開終了
    • 8. 承認依頼の削除
    • 9. 進行中の承認依頼の管理
10章 その他の機能
  • 1. ダッシュボード
  • 2. 英語インタフェース
  • 3. タイムゾーンの指定
11章 システムの運用管理
  • 1. WebRelease の停止と起動
  • 2. データのバックアップ
  • 3. メモリ設定
  • 4. メールサーバの設定
  • 5. Proxy サーバの設定
  • 6. その他のシステム設定
  • 7. 証明書のインポート
  • 8. ストレージの管理
  • 9. 操作履歴
  • 10. ログファイルのダウンロード
  • 11. ログインエラーへの対応
  • 12. WebRelease のバージョンアップ
  • 13. ライセンスのアップグレード
  • 14. 期間ライセンスコードの更新
  • 15. WebRelease の Uninstall
12章 索引
  • 1. 関数索引
    • 1. add
    • 2. allObjects
    • 3. allPages
    • 4. channel
    • 5. channelCookieName
    • 6. channelName
    • 7. codePointAt
    • 8. comma3
    • 9. concatenate
    • 10. contentType
    • 11. count
    • 12. currentTime
    • 13. divide
    • 14. encoding
    • 15. fileName
    • 16. fileSize
    • 17. find
    • 18. firstElement
    • 19. folder
    • 20. formatDate
    • 21. formatDateRFC2822
    • 22. formatDateW3CDTF
    • 23. fullURL
    • 24. gengou
    • 25. getXML
    • 26. group
    • 27. halfwidth
    • 28. hasElement
    • 29. hasMethod
    • 30. head
    • 31. indexOfPage
    • 32. isEven と isOdd
    • 33. isFirstElement と isNotFirstElement
    • 34. isFirstPage
    • 35. isLastElement と isNotLastElement
    • 36. isLastPage
    • 37. isNull と isNotNull
    • 38. isNumber
    • 39. isPreview と isNotPreview
    • 40. jstr
    • 41. kmg1000
    • 42. kmg1024
    • 43. lastElement
    • 44. lastModifiedDate
    • 45. length
    • 46. multiply
    • 47. nextElement
    • 48. nextPage
    • 49. number
    • 50. pageCreatedDate と revisionCreatedDate
    • 51. pageID
    • 52. pageRevision
    • 53. pageTitle
    • 54. pageWithPageID
    • 55. parseDate
    • 56. parseDateRFC2822 と parseDateRFC2822Relaxed
    • 57. parseDateW3CDTF
    • 58. parseHtml
    • 59. path
    • 60. prevElement
    • 61. prevPage
    • 62. previewClock
    • 63. quote
    • 64. remainder
    • 65. replaceAll と replaceFirst
    • 66. resourceURL
    • 67. resourceWithName
    • 68. rtlCount
    • 69. rtlRatio
    • 70. scheduledEndDate
    • 71. scheduledStartDate
    • 72. searchText
    • 73. setScale
    • 74. siteTimeZone
    • 75. sort
    • 76. split
    • 77. startsWith と endsWith
    • 78. string
    • 79. stripTags
    • 80. substring
    • 81. subtract
    • 82. suffix
    • 83. tail
    • 84. templateName
    • 85. thisPage
    • 86. toEntityRef
    • 87. toLowerCase と toUpperCase
    • 88. trim
    • 89. unescapeEntities
    • 90. unsplit
    • 91. width と height
  • 2. オブジェクト索引
    • 1. Channel オブジェクト
    • 2. CheckBox オブジェクト
    • 3. Folder オブジェクト
    • 4. HTMLComment オブジェクト
    • 5. HTMLDataNode オブジェクト
    • 6. HTMLDocument オブジェクト
    • 7. HTMLElement オブジェクト
    • 8. HTMLElements オブジェクト
    • 9. HTMLTextNode オブジェクト
    • 10. Page オブジェクト
    • 11. Selector オブジェクト
    • 12. XMLFeed オブジェクト
13章 Appendix
  • 1. サポートされているタイムゾーン
  • 2. プレビュー時の URL 書き換え機能
  • 3. 正規表現
  • 4. 要素名・リソース名・変数名・メソッド名

関数索引

parseDate

parseDate() 関数は任意の形式の日付表現を対応する数値形式に変換します。

変換結果として返される値は、指定された時刻表現と、1970/01/01 00:00:00 GMTとの差をミリ秒単位で表したた値となります。1970/01/01 00:00:00 GMT 以前の時刻表現は負の値となります。

parseDate() 関数の戻り値を formatDate() 関数で加工することで、任意の時刻表現に変換することができます。

書式

parseDate(時刻表現, フォーマット指定, タイムゾーン, 言語)
時刻表現:

変換したい時刻表現を指定します。時刻表現は、フォーマット指定に準じた形式でなければなりません。指定したフォーマットに従っていない時刻表現を与えた場合には parseDate() 関数は null を返します。(下記の利用例も参照してください)

フォーマット指定:

パース(解析)する時刻表現の形を指定します。parseDate() 関数は、いろいろな形式の時刻表現をパースすることができますが、パースする時刻表現の形式は引数として指定しなければなりません。

フォーマットの指定は、下表に定義されている「フォーマット文字」を組み合わせた文字列で行ないます。

フォーマット指定中のすべてのアルファベット (a-z と A-Z) は、すべて「フォーマット文字」として扱われます。下表にない文字をフォーマット文字として使用するとエラーとなります。

フォーマット文字として扱われない文字(例えば - や / 記号など)をフォーマット指定中に置くと、時刻表現の対応する位置にその文字があるものとしてパースが行なわれます。対応する位置にその文字がない場合パースは失敗し parseDate() 関数の戻り値は null となります。

アルファベット文字を、フォーマット文字としてではなく、その位置にその文字があることを要求するために使用したい場合には、それらの文字を ' (シングルクオート)で囲って使います。例えば "yyyy-MM-dd'T'HH:mm:ss.SSSZ" というフォーマット指定を行なうことで、年月日と時刻の間に T を1文字要求するフォーマット指定が行なえます。

シングルクオート自体をフォーマット指定中に置きたい場合には、例えば "hh 'o''clock' a, zzzz" のように、シングルクオートを二つ続けて指定してください。

下表の「パース結果」欄の値は、formatDate() 関数のパラメタ「タイムゾーン」に "GMT" (世界標準時)を指定した場合のパース結果です。つまり parseDate() 関数に与える日付表現の中にタイムゾーン情報が含まれていない場合に、その日付表現が GMT で表現されているものとして解釈した場合のパース結果となっています。

フォーマット文字 意味 使用例 入力 言語 パース結果 (GMT)
G 西暦/紀元前 G y/M/d 西暦 2009/2/3
AD 2008/3/4
紀元前 5000/1/1
BC 1215/3/7
ja
en
ja
en
AD 2009/02/03 00:00:00
AD 2008/03/04 00:00:00
BC 5000/01/01 00:00:00
BC 1215/03/07 00:00:00
y 年 y/M/d 09/2/15
97/5/22
123/3/11
1234/5/6
2/3/4
  AD 2009/02/15 00:00:00
AD 1997/05/22 00:00:00
AD 0123/03/11 00:00:00
AD 1234/05/06 00:00:00
AD 0002/03/04 00:00:00
yyy 年 yyy/M/d 2008/12/31
09/3/9
  AD 2008/12/31 00:00:00
AD 0009/03/09 00:00:00
M 月(数字) y/M/d 2009/3/10
2009/05/09
2009/12/13
  AD 2009/03/10 00:00:00
AD 2009/05/09 00:00:00
AD 2009/12/13 00:00:00
MMM 月名 y/MMM/d 2006/Jul/3
1975/December/3
2001/Октябрь/22
en
en
ru
AD 2006/07/03 00:00:00
AD 1975/12/03 00:00:00
AD 2001/10/22 00:00:00
w 年初から X 週めの
初日(日曜日)
y(w) 2000(1)
2000(2)
2007(53)
  AD 1999/12/26 00:00:00
AD 2000/01/02 00:00:00
AD 2007/12/30 00:00:00
W 月初から X 週めの
初日(日曜日)
y/M(W) 2002/8(1)
2007/12(4)
  AD 2002/07/28 00:00:00
AD 2007/12/16 00:00:00
D 年初から X 日め y(D) 2004(365)
2007(1)
  AD 2004/12/30 00:00:00
AD 2007/01/01 00:00:00
d 日 y/M/d 2004/12/23
2004/12/1
  AD 2004/12/23 00:00:00
AD 2004/12/01 00:00:00
a 午前/午後 y/M/d a 2006/12/13 am
2006/12/13 pm
2006/12/13 午前
2006/12/13 午後
en
en
ja
ja
AD 2006/12/13 00:00:00
AD 2006/12/13 12:00:00
AD 2006/12/13 00:00:00
AD 2006/12/13 12:00:00
H 時
(0-23)
y/M/d H:m:s 2004/12/23 00:00:00
2004/12/1 1:2:3
  AD 2004/12/23 00:00:00
AD 2004/12/01 01:02:03
k 時
(0-24 24は0)
y/M/d k:m:s 2004/12/23 00:00:00
2004/12/23 24:00:00
AD 2004/12/23 16:01:02
  AD 2004/12/23 00:00:00
AD 2004/12/23 00:00:00
2004/12/23 16:01:02
K 午前/午後の時
(0-11)
y/M/d a K:m:s 1960/3/7 AM 00:02:03
1960/3/7 AM 11:02:03
1960/3/7 PM 00:02:03
1960/3/7 PM 11:02:03
en
en
en
en
AD 1960/03/07 00:02:03
AD 1960/03/07 11:02:03
AD 1960/03/07 12:02:03
AD 1960/03/07 23:02:03
h 午前/午後の時
(0-12 12は0)
y/M/d a h:m:s 1960/3/7 AM 00:02:03
1960/3/7 AM 12:02:03
1960/3/7 AM 01:02:03
1960/3/7 PM 00:02:03
1960/3/7 PM 12:02:03
1960/3/7 PM 01:02:03
en
en
en
AD 1960/03/07 00:02:03
AD 1960/03/07 00:02:03
AD 1960/03/07 01:02:03
AD 1960/03/07 12:02:03
AD 1960/03/07 12:02:03
AD 1960/03/07 13:02:03
m 分(0-59) y/M/d H:m:s 2008/10/11 21:22:34   AD 2008/10/11 21:22:34
s 秒(0-59) y/M/d H:m:s 2008/10/11 21:22:34   AD 2008/10/11 21:22:34
S ミリ秒(0-999) y/M/d H:m:s.S 2008/10/11 21:22:34.789   AD 2008/10/11 21:22:34.789
z タイムゾーン y/M/d H:m:s z 2008/3/7 10:22:34 JST
2007/10/11 00:00:00 EST
2007/10/11 00:00:00 日本標準時
2007/10/11 02:03:04 グリニッジ標準時
en
en
ja
ja
AD 2008/03/07 01:22:34
AD 2007/10/11 05:00:00
AD 2007/10/10 15:00:00
AD 2007/10/11 02:03:04
Z RFC 822
タイムゾーン
{+|-}NNNN
y/M/d H:m:s Z 2008/3/7 10:22:34 +0900
2007/10/11 00:00:00 -0500
en
en
AD 2008/03/07 01:22:34
AD 2007/10/11 05:00:00
E 曜日 y/M/d H:m:s (E) 2007/10/11 02:03:04 (Thursday)
2007/10/12 02:03:04 (Fri)
2007/10/13 02:03:04 (土曜日)
en
en
ja
AD 2007/10/11 02:03:04 (Thu)
AD 2007/10/12 02:03:04 (Fri)
AD 2007/10/13 02:03:04 (Sat)

年のフォーマット指定に yyy(yyyy でも可)を指定した場合、入力された年は入力された通りに解釈されます。09 と入力しても 2009 にはならず、西暦 9 年と解釈されます。

年のフォーマット指定に y(yy でも可)と指定した場合、さらに、それに対応して2桁の年の値が与えられた場合、その値は過去の80年から未来の20年の間の年として認識されます。例えば 2009 年の時点でパースする場合、29 より大きな値は 19XX 年と解釈されます。また、29 以下の値は 20XX 年と解釈されます。

年の値が 2 桁で与えられた場合に限ってこの「世紀」を補う処理が行なわれる点にも注意してください。フォーマット指定が yy となっていても、それに対応する年の値が 2 桁以外の場合(例えば 2009 とか 123 とか 9 とかの場合)には「世紀」を補う処理は行なわれず、与えられた年の値がそのままパース結果となります。

月のフォーマット指定に MMM を指定した場合、入力には月の名前が与えられなければなりません。月の名前は言語の指定に依存します。例えば言語に "en" (英語)を指定した場合、月の名前は Jan Feb Mar Apr May Jun Jul Aug Sep Dec Nov Dec になります。フルスペルの月の名前 January February March April May Jun July August September October November December も使うことができます。

よく使われる言語について、どのような月の名前、およびその省略名が指定可能かを下表に示します。この表に掲載されていない言語についても、月の名前を使うことは可能です。どの言語でどのような名前が指定可能かは、formatDate() 関数を使って目的の言語の月の名前を表示してみることで知ることができるでしょう。

言語ISO 639 言語コード月月名の省略形フルスペルの月名
日本語 ja 1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
ロシア語 ru 1
2
3
4
5
6
7
8
9
10
11
12
янв
фев
мар
апр
май
июн
июл
авг
сен
окт
ноя
дек
Январь
Февраль
Март
Апрель
Май
Июнь
Июль
Август
Сентябрь
Октябрь
Ноябрь
Декабрь
ドイツ語 de 1
2
3
4
5
6
7
8
9
10
11
12
Jan
Feb
Mrz
Apr
Mai
Jun
Jul
Aug
Sep
Okt
Nov
Dez
Januar
Februar
März
April
Mai
Juni
Juli
August
September
Oktober
November
Dezember
英語 en 1
2
3
4
5
6
7
8
9
10
11
12
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
January
February
March
April
May
June
July
August
September
October
November
December
中国語 zh 1
2
3
4
5
6
7
8
9
10
11
12
一月
二月
三月
四月
五月
六月
七月
八月
九月
十月
十一月
十二月
一月
二月
三月
四月
五月
六月
七月
八月
九月
十月
十一月
十二月
イタリア語 it 1
2
3
4
5
6
7
8
9
10
11
12
gen
feb
mar
apr
mag
giu
lug
ago
set
ott
nov
dic
gennaio
febbraio
marzo
aprile
maggio
giugno
luglio
agosto
settembre
ottobre
novembre
dicembre
フランス語 fr 1
2
3
4
5
6
7
8
9
10
11
12
janv.
févr.
mars
avr.
mai
juin
juil.
août
sept.
oct.
nov.
déc.
janvier
février
mars
avril
mai
juin
juillet
août
septembre
octobre
novembre
décembre
タイ語 th 1
2
3
4
5
6
7
8
9
10
11
12
ม.ค.
ก.พ.
มี.ค.
เม.ย.
พ.ค.
มิ.ย.
ก.ค.
ส.ค.
ก.ย.
ต.ค.
พ.ย.
ธ.ค.
มกราคม
กุมภาพันธ์
มีนาคม
เมษายน
พฤษภาคม
มิถุนายน
กรกฎาคม
สิงหาคม
กันยายน
ตุลาคม
พฤศจิกายน
ธันวาคม
スペイン語 es 1
2
3
4
5
6
7
8
9
10
11
12
ene
feb
mar
abr
may
jun
jul
ago
sep
oct
nov
dic
enero
febrero
marzo
abril
mayo
junio
julio
agosto
septiembre
octubre
noviembre
diciembre

時刻表現中のタイムゾーン情報は z でパースします。時刻表現中にタイムゾーンが含まれている場合、その時刻表現はそのタイムゾーンにおける時刻表現と見なされます。例えば、タイムゾーンとして JST が含まれている場合、その時刻表現は日本標準時であるとみなされます。つまり、その時刻表現は世界標準時に対して 9 時間先行した(世界標準時に 9 時間加えた)表現となっているものとしてパースされます。

z でパースすればタイムゾーン名の長形式と省略形式のいずれもパースすることができます。パースできるタイムゾーン名の表現は言語の指定で決まります。言語に ja を指定した場合には「日本標準時」といった日本語のタイムゾーン名が使えます。言語が ja である場合「Japan Standard Time」などの英語のタイムゾーン名は使えないことに注意してください。各言語でどのようなタイムゾーン名が使用できるかは formatDate() 関数で目的の言語でタイムゾーン名を表示してみることで調べることができます。日本語および英語のタイムゾーン名については formatDate() 関数の説明の中に一覧がありますので、そちらを参照してください。

曜日の表現は E でパースします。E でパースすれば曜日名の長形式と省略形式のいずれもパースすることができます。パースできる曜日の表現は言語の指定で決まります。言語に ja を指定した場合には「日月火水木金土」といった日本語の曜日名が使えますが Mon や Tue などの英語の曜日名は使えません。各言語でどのような曜日名が使用できるかは formatDate() 関数で目的の言語で曜日を表示してみることで調べることができるでしょう。

日付表現中の年月日の表現と曜日の表現が合致しない場合、曜日のパース結果は無視される点に注意してください。例えば、2008/11/7 (月) という日付表現は誤りです。実際は 2008/11/7 は月曜日ではなく金曜日だからです。parseDate() 関数でこのような日付をパースすると曜日指定の部分は無視されますがエラーにはなりません。例えば、この場合は 2008/11/07 (金) としてパースされます。

タイムゾーン:

時刻表現中にタイムゾーン情報が含まれていない場合、与えられた時刻表現をどのタイムゾーンの時刻表現として扱うかを指定するためにこのパラメタを使用します。タイムゾーンの指定方法は formatDate() 関数の場合と同じです。指定方法については formatDate() 関数の説明を参照してください。

この引数は省略可能です。省略した場合には、サイトに指定されているタイムゾーンを使用してパースが行われます。

言語:

時刻表現がどの言語で行なわれているかを指定します。例えば、日本語 "ja" を指定すれば曜日の表現として「日曜日」というように、日本語による表現形式をパースできるようになります。また、英語 "en" を指定すれば「Sunday」や「Sun」という英語の形式をパースできるようになります。

この引数には ISO 639 (JIS X 0412 とほぼ同等) に定義されている 2 文字構成の言語コードを指定することができます。コードの詳細につきましては ISO 639 を参照してください。

この引数は省略可能です。省略した場合には、サーバのデフォルト言語(多くの場合は日本語でしょう)が指定されたものとしてパースが行われます。

利用例 #1

テンプレートに「年」「月」「日」という3つの1行テキストの要素が定義されているとします。その3つのフィールドにユーザが入力した年、月、日の値をパースして日付表現にして表示してみます。

<body>
......
%formatDate(parseDate(concatenate(年, "/", 月, "/", 日), "y/MMM/d"), "yyyy/MM/dd (E)")%
......
</body>

結果は、例えば "2009/12/24 (木)" になります。(E) を指定しているので曜日も表示されています。

入力された3つのフィールドの値を concatenate() 関数で連接して日付形式に仕立て上げてから parseDate() 関数で処理しています。

月のフォーマット指定には "MMM" が指定されているので月の欄には「12月」という長形式も入力できます。言語は指定していないので、月の名前は、サーバのデフォルト言語で使われる月の名前でなければなりません。(日本語の場合は「12月」の 12 はいわゆる半角で与える必要があります)

利用例 #2

"2008/1/2 13:45" という日付表現をパースして、それを RFC2822 形式で表示してみます。

<body>
......
%formatDateRFC2822(parseDate("2008/1/2 13:45",  "y/M/d h:m"),  "GMT")%
......
</body>

結果は "Wed, 02 Jan 2008 04:45:00 +0000" になります。

formatDateRFC2822() 関数にパラメタとして "GMT" を指定しているので、表示される RFC2822 形式の日付表現のタイムゾーンは GMT (+0000) になっています。parseDate() 関数には特にタイムゾーンを指定していないので、サーバのデフォルトタイムゾーンを使ってパースされています。この場合、"2008/1/2 13:45" は JST であるものとしてパースされています。結果として9時間の時差が生じています。(JST の 13:45 は GMT の 4:45 と同時刻です)

利用例 #3

"2008/6/2 13:45 PDT" という日付表現をパースして、それを W3CDTF 形式で表示してみます。

<body>
......
%formatDateW3CDTF(parseDate("2008/6/2 13:45 PDT",  "y/M/d h:m z"),  "GMT")%
......
</body>

結果は "2008-06-02T20:45:00+00:00" となります。

parseDate() 関数に与えられた日付表現には "PDT" というタイムゾーン情報が含まれているので「太平洋夏時間」としてパースされています。formatDateW3CDTF() 関数には "GMT" が指定されているので、夏時間時差の 7 時間が加味された結果が表示されています。

利用例 #4

2007/02/29 13:20:35 JST を parseDate() 関数を使って数値表現に変換してみます。parseDate() 関数は、渡された引数の日付表現が、指定されているフォーマット指定に従っていない場合には null を返します。

<body>
......
<wr-if condition="isNull(parseDate(\"2008/3/4 12:34\",  \"y/M/d H:m:s\"))">
日付表現に誤りがあります。(1)
</wr-if>
......
<wr-if condition="isNull(parseDate(\"2008/3/4 12:34:56\",  \"y/M/d H:m\"))">
日付表現に誤りがあります。(2)
</wr-if>
......
<wr-if condition="isNull(parseDate(\"[2008/3/4 12:34:56]\",  \"[y/M/d H:m]\"))">
日付表現に誤りがあります。(3)
</wr-if>
......
</body>

(1) はパースエラーとなり null が返されます。フォーマット指定は「秒」を要求していますが、与えられた日付表現には「秒」の部分がないためです。

(2) はエラーにはなりません。フォーマット指定は「秒」を要求していませんが、与えられた日付表現には「秒」部分が存在しています。parseDate() 関数は、与えられた日付表現の末尾部分に使われない文字列があってもエラーと判断しません。

(3) はエラーとなります。フォーマット指定は「分」の終わりに "]" を要求していますが、与えられた日付表現には「秒」部分があり「分」の次が "]" になっていないためです。

ヒント

parseDate() 関数で日付表現を処理する前に、replaceAll() 関数などで空白文字や記号を整えると便利です。

前

次

© 2000 - 2024  FrameWorks Software, Inc.