1.現在の取り方の違い
データ型 | メソッド | 結果 |
---|---|---|
date型 | date.today() | Tue May 01 00:00:00 GMT 2012 |
datetime型 | datetime.now() | Tue May 01 06:31:59 GMT 2012 |
string型に変換 | datetime.now().format('yyyy/MM/dd hh:mm:ss') | 2012/05/01 03:31:59 |
datetime型でタイムスタンプを取得する場合、now()を使用するとタイムゾーンがGMTで返ってきてしまいます。
formatを使用すると、ローカルのタームゾーンに変換されます。datetime型の場合、メソッドを活用することでタイムゾーンを変えることができます。
詳しくはこちら。http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_methods_system_datetime.htm
2.date型のフォーマット
date型のフォーマットは、書式を細かく設定するものではないようです。
date.today().format('yyyy/MM/dd') は、エラーになります。
date型のフォーマットは、ユーザーのロケーションに合わせた日付の形式に変えてくれるだけのようで、
date.today().format() とすると、単純に 2012/05/01 という文字列が返ってきます。
3.datetime型のフォーマット
datetime型のformatメソッドの書式はJavaと同様です。VB出身者はフォーマットの書式で戸惑うかもしれません。
ポイントは大文字と小文字で意味が異なるという点です。
書式 | 結果 |
---|---|
yyyy/MM/dd hh:mm:ss | 2012/05/01 04:00:29 ○ |
yyyy/mm/dd hh:mm:ss | 2012/00/01 04:00:29 × |
yyyy/MM/DD HH:MM:SS | 2012/05/122 16:05:759 × |
参考:書式パターン文字一覧
文字 | 説明 | 例 |
---|---|---|
G | 紀元 | AD |
y | 年 | 1996, 96 |
M | 月 | July, Jul, 07 |
w | 年における週 | 27 |
W | 月における週 | 2 |
D | 年における日 | 189 |
d | 月における日 | 10 |
F | 月における曜日 | 2 |
E | 曜日 | Tuesday, Tue |
a | 午前/午後 | PM |
H | 一日における時(0~23) | 0 |
k | 一日における時(1~24) | 24 |
K | 午前/午後の時(0~11) | 0 |
h | 午前/午後の時(1~12) | 12 |
m | 分 | 30 |
s | 秒 | 55 |
S | ミリ秒 | 978 |
z | タイムゾーン | Pacific Standard Time, PST, GMT-08:00 |
Z | タイムゾーン | -0800 |
0 件のコメント:
コメントを投稿