Palm Programmer's Laboratory
Palm OS Programmer's Companion Volume I/12-3
12-3 日付
アプリケーションが日付と時刻を扱っている場合、ユーザーがシステムプリファレンスで設定した日付と時刻の表示方法に従うべきです。スタートアップ時点のデフォルトプリファレンスはロケールによって変わりますし、デフォルト設定はユーザーが変更することができます。
システムプリファレンスをチェックするには、表 12.1 の2列目の値から1つを選んで PrefGetPreference をコールします。表の3列目には、結果の判定に使用する列挙型を示しています。
表 12.1 日付と時刻のプリファレンス
プリファレンス | 名前 | 復帰値の型 |
---|---|---|
日付の書式(月と日のどちらを最初に表記するかなど) | prefDateFormat, prefLongDateFormat |
DateFormatType |
時刻の書式(12時間時計と24時間時計のどちらを使用するかなど) | prefTimeFormat | TimeFormatType |
週の開始日(日曜日か月曜日か) | prefWeekStartDay | 0 (日曜日)または 1(月曜日) |
ローカルタイムゾーン | prefMinutesWestOfGMT (Palm OS 4.0未満), prefTimeZone (Palm OS 4.0 以降) |
グリニッジ標準時(GMT)から東方向への分数(※1)。GMT は協定世界時 (UTC) としても知られています。 |
夏時間の調整 | prefDaylightSavings (Palm OS 4.0未満), prefDaylightSavingAdjustment (Palm OS 4.0 以降) |
Palm OS 4.0よりも前では、DaylightSavingsTypes が夏時間の調整を示していました。Palm OS 4.0 以降では、プリファレンスに現在時刻から何分調整するかを示す数値が保存されます。 |
※1.このプリファレンスの以前の名前にもかかわらず、正の値は GMT から東方向の分数を、負の値は GMT から西方向の分数を示します。
- IMPORTANT
- 上述の prefMinutesWestOfGMT プリファレンスは prefTimeZone プリファレンスとは異なります。prefMinutesWestOfGMT は範囲 0 〜 1440 の符号なしの値を返しますが、prefTimeZone の範囲は -720 〜 720 です。
コード中で日付を扱う場合、日時マネージャの API を使用します。これには DateToAscii、DayOfMonth、DayOfWeek、DaysInMonth、および DateTemplateToAscii といった関数が含まれます。これらの関数を使用することにより、ユーザーのプリファレンス設定から独立したかたちで日付を扱うことができます。