[[← 56 章に戻る|Palm OS Programmer's API Reference/56]] [[↑トップへ|Palm OS Programmer's API Reference]] [[58 章に進む →|Palm OS Programmer's API Reference/58]] ---- {{anchor top}} この章の索引 *{{goto タイム マネージャ データ構造体,タイム マネージャ データ構造体}} **{{goto DateFormatType,DateFormatType}} **{{goto DateTimeType,DateTimeType}} **{{goto DateType,DateType}} **{{goto DaylightSavingsTypes,DaylightSavingsTypes}} **{{goto DayOfMonthType,DayOfMonthType}} **{{goto TimeFormatType,TimeFormatType}} **{{goto TimeType,TimeType}} *{{goto タイム マネージャ定数,タイム マネージャ定数}} *{{goto タイム マネージャ関数,タイム マネージャ関数}} **{{goto DateAdjust,DateAdjust}} **{{goto DateDaysToDate,DateDaysToDate}} **{{goto DateSecondsToDate,DateSecondsToDate}} **{{goto DateTemplateToAscii,DateTemplateToAscii}} **{{goto DateToAscii,DateToAscii}} **{{goto DateToDays,DateToDays}} **{{goto DateToDOWDMFormat,DateToDOWDMFormat}} **{{goto DayOfMonth,DayOfMonth}} **{{goto DayOfWeek,DayOfWeek}} **{{goto DaysInMonth,DaysInMonth}} **{{goto TimAdjust,TimAdjust}} **{{goto TimDateTimeToSeconds,TimDateTimeToSeconds}} **{{goto TimGetSeconds,TimGetSeconds}} **{{goto TimGetTicks,TimGetTicks}} **{{goto TimSecondsToDateTime,TimSecondsToDateTime}} **{{goto TimSetSeconds,TimSetSeconds}} **{{goto TimeToAscii,TimeToAscii}} **{{goto TimeZoneToAscii,TimeZoneToAscii}} **{{goto TimTimeZoneToUTC,TimTimeZoneToUTC}} **{{goto TimUTCToTimeZone,TimUTCToTimeZone}} ---- !!!57 タイム マネージャ この章ではタイム マネージャのための参照資源を提供します。 *{{goto タイム マネージャ データ構造体,タイム マネージャ データ構造体}} *{{goto タイム マネージャ定数,タイム マネージャ定数}} *{{goto タイム マネージャ関数,タイム マネージャ関数}} ヘッダ ファイル {{span style='color:blue;font-family:monospace;',DateTime.h}} がこの章で説明する API を宣言しています。タイム マネージャについての追加情報は、''Palm OS Programmer's Companion, vol. I'' の[[「時刻」|Palm OS Programmer's Companion Volume I/11-8]]を参照してください。 !!{{anchor タイム マネージャ データ構造体}}タイム マネージャ データ構造体 {{goto top,^TOP^}} !{{anchor DateFormatType}}DateFormatType 列挙体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',DateFormatType}} 列挙体は、日付値に対して、それぞれ異なるディスプレイ フォーマットを指定します。 '''Prototype''' typedef enum { dfMDYWithSlashes, dfDMYWithSlashes, dfDMYWithDots, dfDMYWithDashes, dfYMDWithSlashes, dfYMDWithDots, dfYMDWithDashes, dfMDYLongWithComma, dfDMYLong, dfDMYLongWithDot, dfDMYLongNoDay, dfDMYLongWithComma, dfYMDLongWithDot, dfYMDLongWithSpace, dfMYMed, dfMYMedNoPost, dfMDYWithDashes } DateFormatType; '''定数''' *{{span style='color:blue;font-family:monospace;',dfMDYWithSlashes}} **スラッシュで分けられた月、日、年の数。例えば、{{span style='color:blue;font-family:monospace;',12/31/95}}。{{br}}これはショート フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfDMYWithSlashes}} **スラッシュで分けられた日、月、年の数。例えば、{{span style='color:blue;font-family:monospace;',31/12/95}}。{{br}}これはショート フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfDMYWithDots}} **ドットで分けられた日、月、年の数。例えば、{{span style='color:blue;font-family:monospace;',31.12.95}}。{{br}}これはショート フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfDMYWithDashes}} **ダッシュで分けられた日、月、年の数。例えば、{{span style='color:blue;font-family:monospace;',31-12-95}}。{{br}}これはショート フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfYMDWithSlashes}} **スラッシュで分けられた年、月、日の数。例えば、{{span style='color:blue;font-family:monospace;',95/12/31}}。{{br}}これはショート フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfYMDWithDots}} **ドットで分けられた年、月、日の数。例えば、{{span style='color:blue;font-family:monospace;',95.12.31}}。{{br}}これはショート フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfYMDWithDahes}} **ダッシュで分けられた年、月、日の数。例えば、{{span style='color:blue;font-family:monospace;',95-12-31}}。{{br}}これはショート フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfMDYLongWithComma}} **月、日、年のカンマを持つロング フォーマット。例えば、{{span_begin style='color:blue;font-family:monospace;'}}Dec 31, 1995{{span_end}}。{{br}}これはロング フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfDMYLong}} **日、月、年のロング フォーマット。例えば、{{span_begin style='color:blue;font-family:monospace;'}}31 Dec 1995{{span_end}}。{{br}}これはロング フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfDMYLongWithDot}} **日、月、年のドットを持つロング フォーマット。例えば、{{span_begin style='color:blue;font-family:monospace;'}}31. Dec 1995{{span_end}}。{{br}}これはロング フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfDMYLongNoDay}} **月、年のロング フォーマット。例えば、{{span_begin style='color:blue;font-family:monospace;'}}Dec 1995{{span_end}}。{{br}}これはロング フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfDMYLongWithComma}} **日、月、年のカンマを持つロング フォーマット。例えば、{{span_begin style='color:blue;font-family:monospace;'}}31 Dec, 1995{{span_end}}。{{br}}これはロング フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfYMDLongWithDot}} **年、日、月のドット セパレータを持つロング フォーマット。例えば、{{span_begin style='color:blue;font-family:monospace;'}}1995.12.31{{span_end}}。{{br}}これはロング フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfYMDLongWithSpace}} **年、月、日のスペース セパレータを持つロング フォーマット。例えば、{{span_begin style='color:blue;font-family:monospace;'}}1995 Dec 31{{span_end}}。{{br}}これはロング フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfMYMed}} *先にアポストロフィが付いた 2 桁の年を持つロング フォーマットの月。例えば、{{span_begin style='color:blue;font-family:monospace;'}}Dec '95{{span_end}}。{{br}}これはロング フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfMYMedNoPost}} *2 桁の年を持つロング フォーマットの月。例えば、{{span_begin style='color:blue;font-family:monospace;'}}Dec 95{{span_end}}。{{br}}これはミディアム フォーマットと考えられます。 *{{span style='color:blue;font-family:monospace;',dfMDYWithDashes}} *ダッシュで分けられた月、日、年。例えば、{{span_begin style='color:blue;font-family:monospace;'}}12-31-5{{span_end}}。{{br}}これはショート フォーマットと考えられます。 '''互換性''' {{span style='color:blue;font-family:monospace;',dfMDYWithDashes}} 定数は、Palm OS 4.0 以降で定義されます。 !{{anchor DateTimeType}}DateTimeType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',DateTimeType}} 構造体は日付と時刻の値を表します。 '''Prototype''' typedef struct{ Int16 second; Int16 minute; Int16 hour; Int16 day; Int16 month; Int16 year; Int16 weekDay; } DateTimeType typedef DateTimeType *DateTimePtr; '''フィールド''' *{{span style='color:blue;font-family:monospace;',second}} **秒の数。これは 0 から 59 までの値です。 *{{span style='color:blue;font-family:monospace;',minute}} **分の数。これは 0 から 59 までの値です。 *{{span style='color:blue;font-family:monospace;',hour}} **時の数。これは 0 から 23 までの値です。 *{{span style='color:blue;font-family:monospace;',day}} **日の数。これは 1 から 31 までの値です。 *{{span style='color:blue;font-family:monospace;',month}} **月の数。これは 1 から 12 までの値です。 *{{span style='color:blue;font-family:monospace;',year}} **年の数。 *{{span style='color:blue;font-family:monospace;',weekday}} **日数。これは日曜日からの日数を表します。つまり、0 から 6 までの値です。 !{{anchor DateType}}DateType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',DateType}} 構造体は日付の値を表します。 '''Prototype''' typedef struct{ UInt16 year :7; UInt16 month:4; UInt16 day:5; } DateType; typedef DateType *DatePtr; '''フィールド''' *{{span style='color:blue;font-family:monospace;',yaer}} **1904 からの年の数。{{br}}これはマッキントッシュ コンピュータで使用されるフォーマットです。 *{{span style='color:blue;font-family:monospace;',month}} **月の数。これは 0 から 12 までの値です。 *{{span style='color:blue;font-family:monospace;',day}} **日の数。これは 1 から 31 までの値です。 !{{anchor DaylightSavingsTypes}}DaylightSavingsType 列挙体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',DaylightSavingsTypes}} 列挙体は、日付と時刻の値を指定できる夏時間のそれぞれ異なるフォームを指定します。 テーブルは、夏時間を表すために、"DST" を使用するということに注意してください。 '''Prototype''' typedef enum { dsNone, dsUSA, dsAustralia, dsWesternEuropean, dsMiddleEuropean, dsEasternEuropean, dsGreatBritain, dsRumania, dsTurkey, dsAustraliaShifted } DaylightSavingsTypes; '''定数''' *{{span style='color:blue;font-family:monospace;',dstNone}} **DST (daylight savings time) 無し *{{span style='color:blue;font-family:monospace;',dstUSA}} **アメリカ合衆国 DST *{{span style='color:blue;font-family:monospace;',dstAustralia}} **オーストラリア DST *{{span style='color:blue;font-family:monospace;',dstWesternEuropean}} **西ヨーロッパ DST *{{span style='color:blue;font-family:monospace;',dstMiddleEuropean}} **中央ヨーロッパ DST *{{span style='color:blue;font-family:monospace;',dstEasternEuropean}} **東ヨーロッパ DST *{{span style='color:blue;font-family:monospace;',dstGreatBritain}} **イギリスとアイルランド DST *{{span style='color:blue;font-family:monospace;',dstRumania}} **ルーマニア DST *{{span style='color:blue;font-family:monospace;',dstTurkey}} **トルコ DST *{{span style='color:blue;font-family:monospace;',dstAustraliaShifted}} **1986 シフトでのオーストラリア DST(訳者注: 夏時間の施行方法はいろいろあるらしい) '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合、このデータ タイプは旧式のものになります。バージョン 4.0 以降では、Palm OS は夏時間を、夏時間を求めるために現在の時刻に加える分数(the number of minutes)である整数で表します。 !{{anchor DayOfMonthType}}DayOfMonthType 列挙体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',DayOfMonth}} 列挙体は、{{goto DayOfMonth,DayOfMonth()}} 関数によって返される、それぞれに異なる週の日の数値を指定します。これらの値は、月の特定の日に繰り返し起こるアポイントメントを表すのに使用されます。例えば、各月の最初の金曜日であるとか、3 番目の火曜日のことです。 '''Prototype''' typedef enum { dom1stSun, dom1stMon, dom1stTue, dom1stWen, dom1stThu, dom1stFri, dom1stSat, dom2ndSun, dom2ndMon, dom2ndTue, dom2ndWen, dom2ndThu, dom2ndFri, dom2ndSat, dom3rdSun, dom3rdMon, dom3rdTue, dom3rdWen, dom3rdThu, dom3rdFri, dom3rdSat, dom4thSun, dom4thMon, dom4thTue, dom4thWen, dom4thThu, dom4thFri, dom4thSat, domLastSun, domLastMon, domLastTue, domLastWen, domLastThu, domLastFri, domLastSat } DayOfWeekType; '''定数''' *{{span style='color:blue;font-family:monospace;',dom1stSun}} **月の最初の日曜日 *{{span style='color:blue;font-family:monospace;',dom1stMon}} **月の最初の月曜日 *{{span style='color:blue;font-family:monospace;',dom1stTue}} **月の最初の月曜日 *{{span style='color:blue;font-family:monospace;',dom1stWen}} **月の最初の水曜日 *{{span style='color:blue;font-family:monospace;',dom1stThu}} **月の最初の木曜日 *{{span style='color:blue;font-family:monospace;',dom1stFri}} **月の最初の金曜日 *{{span style='color:blue;font-family:monospace;',dom1stSat}} **月の最初の土曜日 *{{span style='color:blue;font-family:monospace;',dom2ndSun}} **月の 2 番目の日曜日 *{{span style='color:blue;font-family:monospace;',dom2ndMon}} **月の 2 番目の月曜日 *{{span style='color:blue;font-family:monospace;',dom2ndTue}} **月の 2 番目の月曜日 *{{span style='color:blue;font-family:monospace;',dom2ndWen}} **月の 2 番目の水曜日 *{{span style='color:blue;font-family:monospace;',dom2ndThu}} **月の 2 番目の木曜日 *{{span style='color:blue;font-family:monospace;',dom2ndFri}} **月の 2 番目の金曜日 *{{span style='color:blue;font-family:monospace;',dom2ndSat}} **月の 2 番目の土曜日 *{{span style='color:blue;font-family:monospace;',dom3rdSun}} **月の 3 番目の日曜日 *{{span style='color:blue;font-family:monospace;',dom3rdMon}} **月の 3 番目の月曜日 *{{span style='color:blue;font-family:monospace;',dom3rdTue}} **月の 3 番目の月曜日 *{{span style='color:blue;font-family:monospace;',dom3rdWen}} **月の 3 番目の水曜日 *{{span style='color:blue;font-family:monospace;',dom3rdThu}} **月の 3 番目の木曜日 *{{span style='color:blue;font-family:monospace;',dom3rdFri}} **月の 3 番目の金曜日 *{{span style='color:blue;font-family:monospace;',dom3rdSat}} **月の 3 番目の土曜日 *{{span style='color:blue;font-family:monospace;',dom4thSun}} **月の 4 番目の日曜日 *{{span style='color:blue;font-family:monospace;',dom4thMon}} **月の 4 番目の月曜日 *{{span style='color:blue;font-family:monospace;',dom4thTue}} **月の 4 番目の月曜日 *{{span style='color:blue;font-family:monospace;',dom4thWen}} **月の 4 番目の水曜日 *{{span style='color:blue;font-family:monospace;',dom4thThu}} **月の 4 番目の木曜日 *{{span style='color:blue;font-family:monospace;',dom4thFri}} **月の 4 番目の金曜日 *{{span style='color:blue;font-family:monospace;',dom4thSat}} **月の 4 番目の土曜日 *{{span style='color:blue;font-family:monospace;',domLastSun}} **月の最後の日曜日 *{{span style='color:blue;font-family:monospace;',domLastMon}} **月の最後の月曜日 *{{span style='color:blue;font-family:monospace;',domLastTue}} **月の最後の月曜日 *{{span style='color:blue;font-family:monospace;',domLastWen}} **月の最後の水曜日 *{{span style='color:blue;font-family:monospace;',domLastThu}} **月の最後の木曜日 *{{span style='color:blue;font-family:monospace;',domLastFri}} **月の最後の金曜日 *{{span style='color:blue;font-family:monospace;',domLastSat}} **月の最後の土曜日 '''互換性''' Palm OS 4.0 より前では、この型は {{span style='color:blue;font-family:monospace;',DayOfWeekType}} という名前でした。 !{{anchor TimeFormatType}}TimeFormatType 列挙体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',TimeFormatType}} 列挙体は時刻の値のそれぞれ異なるディスプレイ フォーマットを指定します。 '''Prototype''' typedef enum { tfColon, tfColonAMPM, tfColon24h, tfDot, tfDotAMPM, tfDot24h, tfHoursAMPM, tfHours24h, tfComma24h, } TimeFormatType; typedef TimeFormatType *TimeFormatPtr; '''定数''' *{{span style='color:blue;font-family:monospace;',tfColon}} **コロン文字で分けられた時と分。例えば、{{span style='color:blue;font-family:monospace;',1:00}}。 *{{span style='color:blue;font-family:monospace;',tfColonAMPM}} **AP/PM が後に続くコロン文字で分けられた時と分。例えば、{{span style='color:blue;font-family:monospace;',1:00 pm}}。 *{{span style='color:blue;font-family:monospace;',tfColon24h}} **コロン文字で分けられた時と分を持つ 24 時間時刻。例えば、{{span style='color:blue;font-family:monospace;',13:00}}。 *{{span style='color:blue;font-family:monospace;',tfDot}} **ドット文字で分けられた時と分。例えば、{{span style='color:blue;font-family:monospace;',1.00}}。 *{{span style='color:blue;font-family:monospace;',tfDotAMPM}} **AP/PM が後に続くドット文字で分けられた時と分。例えば、{{span style='color:blue;font-family:monospace;',1.00 pm}}。 *{{span style='color:blue;font-family:monospace;',tfDot24h}} **ドット文字で分けられた時と分を持つ 24 時間時刻。例えば、{{span style='color:blue;font-family:monospace;',13.00}}。 *{{span style='color:blue;font-family:monospace;',tfHoursAMPM}} **AP/PM が後に続くドット文字で分けられた時。例えば、{{span style='color:blue;font-family:monospace;',1 pm}}。 *{{span style='color:blue;font-family:monospace;',tfHours24h}} **24 時間の時。例えば、{{span style='color:blue;font-family:monospace;',13}}。 *{{span style='color:blue;font-family:monospace;',tfComma24h}} **カンマ文字で分けられた時と分を持つ 24 時間時刻。例えば、{{span style='color:blue;font-family:monospace;',13,00}}。 !{{anchor TimeType}}TimeType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',TimeType}} 構造体は時刻の値を表します。 '''Prototype''' typedef struct { UInt8 hours; UInt8 minutes; } TimeType; typedef TimeType *TimePtr; '''フィールド''' *{{span style='color:blue;font-family:monospace;',hours}} **時の数。この値は 0 から 23 までです。 *{{span style='color:blue;font-family:monospace;',minutes}} **分の数。この値は 0 から 59 までです。 !!{{anchor タイム マネージャ定数}}タイム マネージャ定数 {{goto top,^TOP^}} 以下に示す表で、日付と時刻フォーマット ルーチン {{goto DateToAscii,DateToAscii()}}, {{goto DateToDOWDMFormat,DateToDOWDMFormat}}, {{goto TimeToAscii,TimeToAscii()}} によって返される文字列の最大長を表す定数を示します。 ,'''定数''','''値''','''説明''' ,"{{span style='color:blue;font-family:monospace;',dateStringLength}}",9,"{{span style='color:blue;font-family:monospace;',DateToAscii}} によって返されるショート日付フォーマットの文字列の最大長" ,"{{span style='color:blue;font-family:monospace;',longDateStringLength}}",15,"{{span style='color:blue;font-family:monospace;',DateToAscii}} によって返されるロング日付フォーマットの文字列の最大長" ,"{{span style='color:blue;font-family:monospace;',timeStringLength}}",15,"{{span style='color:blue;font-family:monospace;',TimeToAscii}} によって返される文字列の最大長" ,"{{span style='color:blue;font-family:monospace;',dowDateStringLength}}",19,"{{span style='color:blue;font-family:monospace;',DateToDOWDMFormat}} によって返されるショート日付フォーマットの文字列の最大長" ,"{{span style='color:blue;font-family:monospace;',dowLongDateStringLength}}",25,"{{span style='color:blue;font-family:monospace;',DateToDOWDMFormat}} によって返されるミディアムとロング日付フォーマット両方の文字列の最大長" !!{{anchor タイム マネージャ関数}}タイム マネージャ関数 {{goto top,^TOP^}} '''目的''' 日を +/- して調節した新しい日付を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' void DateAdjust ( DateType *dateP, Int32 adjustment ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ dateP}} **調節される日付を持つ {{goto DateType,DateType}} 構造体へのポンタ *{{span style='color:blue;font-family:monospace;',→ adjustment}} **日付を調節するための日の数 '''返り値''' 返り値はありません。返るとき、{{span style='color:blue;font-family:monospace;',dateP}} が調節された日付を保持しています。 '''コメント''' この関数は日付を進め、状況を保持している月と年を管理します。 '''参照''' {{goto TimeAjust,TimeAjust()}} !{{anchor DateDaysToDate}}DateDaysToDate 関数 {{goto top,^TOP^}} '''目的''' 1904 年 1 月 1 日からの日数として指定された日付を {{goto DateType,DateType}} 構造体に変換します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' void DateDaysToDate ( UInt32 days, DateType *dateP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ days}} **1904 年 1 月 1 日からの日数 *{{span style='color:blue;font-family:monospace;',← dateP}} **計算された日付の値で更新される {{goto DateType,DateType}} 構造体へのポインタ '''返り値''' 返り値はありません。返るとき、日付情報は {{span style='color:blue;font-family:monospace;',dateP}} パラメータによって参照される構造体の中に収めされて返されます。 '''参照''' {{goto DateSecondsToDate,DateSecondsToDate()}}, {{goto DateToDays,DateToDays()}} !{{anchor DateSecondsToDate}}DateSecondsToDate 関数 {{goto top,^TOP^}} '''目的''' 1904 年 1 月 1 日からの秒数として指定された日付を {{goto DateType,DateType}} 構造体に変換します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' void DateSecondsToDate ( UInt32 seconds, DateType *dateP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ seconds}} **1904 年 1 月 1 日からの秒数 *{{span style='color:blue;font-family:monospace;',← dateP}} **計算された日付の値で更新される {{goto DateType,DateType}} 構造体へのポインタ '''返り値''' 返り値はありません。{{span style='color:blue;font-family:monospace;',dateP}} パラメータによって参照される構造体は日付情報に更新されます。 '''参照''' {{goto DateDaysToDate,DateDaysToDate()}}, {{goto DateToDays,DateToDays()}} !{{anchor DateTemplateToAscii}}DateTemplateToAscii 関数 {{goto top,^TOP^}} '''目的''' 指定された日付の値を、フォーマット テンプレート指定子に一致するフォーマットの文字列に変換します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' UInt16 DateTemplateToAscii ( const Char *templateP, UInt8 months, UInt8 days, UInt16 years, Char *stringP, Int16 stringLen ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ templateP}} **日付をフォーマットするのに使用されるテンプレート文字列へのポインタ。{{br}}どのようにこのテンプレート文字列の中の日付フォーマットを指定するかについての詳細は、以下のコメントを参照してください。 *{{span style='color:blue;font-family:monospace;',→ months}} **月の数。この値は {{span style='color:blue;font-family:monospace;',1}} から {{span style='color:blue;font-family:monospace;',12}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ days}} **日の数。この値は {{span style='color:blue;font-family:monospace;',1}} から {{span style='color:blue;font-family:monospace;',31}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ years}} **4 桁の年の数。例えば、{{span style='color:blue;font-family:monospace;',1995}}。 *{{span style='color:blue;font-family:monospace;',← stringP}} **結果で更新される文字列へのポインタ。{{br}}{{span style='color:blue;font-family:monospace;',stringP}} が {{span style='color:blue;font-family:monospace;',NULL}} の場合、この関数は出力文字列を書き込みません。しかし、出力文字列の長さを返します。{{br}}{{span style='color:blue;font-family:monospace;',stringP}} が {{span style='color:blue;font-family:monospace;',NULL}} ではない場合、この関数はフォーマットされた文字列を {{span style='color:blue;font-family:monospace;',stringP}} に書き込みます。最大 {{span style='color:blue;font-family:monospace;',stringLen}} バイト {{span style='color:blue;font-family:monospace;',stringP}} に書き込みます。 *{{span style='color:blue;font-family:monospace;',→ stringLen}} **{{span style='color:blue;font-family:monospace;',stringP}} バッファのサイズ。 '''返り値''' フォーマットされた文字列の、終端 null のバイトを含めない、長さを返します。 {{span style='color:blue;font-family:monospace;',DateTemplateToAscii}} は、たとえ {{span style='color:blue;font-family:monospace;',stringP}} パラメータが {{span style='color:blue;font-family:monospace;',NULL}} の場合でも、フォーマットされた文字列の長さを返します。これにより、ランタイムでバッファ サイズを決定することが可能になります。 '''コメント''' この関数は、{{goto DateToAscii,DateToAscii()}} と {{goto DateToDOWDMFormat,DateToDOWDMFormat()}} 関数を置き換えることを意図した関数です。 この関数は、渡された日付の値からフォーマットされた文字列を作成するために、{{span style='color:blue;font-family:monospace;',templateP}} によって参照されるフォーマット テンプレートを使用します。 {{span style='color:blue;font-family:monospace;',templateP}} で一連のフォーマット部分文字列を指定します。各部分文字列は以下のフォームを持ちます。 ----   {{span style='color:blue;font-family:monospace;',^}} ---- 各部分文字列は 3 つの構成要素を持ちます。 *{{span style='color:blue;font-family:monospace;',^}} 文字が部分文字列の開始です。 *{{span style='color:blue;font-family:monospace;',}} 構成要素は、値のタイプを指定する 1 桁の数です。 *{{span style='color:blue;font-family:monospace;',}} 構成要素は、値をどのようにフォーマットするか指定する 1 個の文字です。 以下に示すのは、3 つの部分文字列を持つテンプレート指示子の例です。   {{span style='color:blue;font-family:monospace;',^0z ^2l ^4r}} {{goto 表 57.1,表 57.1}} は {{span style='color:blue;font-family:monospace;',}} 構成要素に指定できる値を示します。フォーマットされる結果は {{span style='color:blue;font-family:monospace;',}} 値に依存するということに注意してください。 {{anchor 表 57.1}} '''表 57.1 DateTemplateToAscii 関数のためのテンプレート値''' ,'''値''','''値のタイプ''','''フォーマット結果の例''' ,0,日の数,"1, 01, 23, 31" ,1,日の名前(訳者注: 曜日),"Tue, Tuesday" ,2,月の名前,"May, Aug, August" ,3,月の数,"4, 04, 11" ,4,年の数,"97, 1997" {{goto 表 57.2,表 57.2}} は各テンプレート部分文字列の {{span style='color:blue;font-family:monospace;',}} 構成要素に指定できる値を示します。 {{anchor 表 57.2}} '''表 57.2 DateTemplateToAscii 関数のためのテンプレート 修飾子のタイプ''' ,'''修飾子''','''説明''' ,s,値をショート フォームにフォーマットします。 ,r,値を標準フォームにフォーマットします。 ,l,値をロング フォームにフォーマットします。 ,z,フォーマットされた数値の頭に 0 を追加します。 最後に、{{goto 表 57.3,表 57.3}} は修飾子タイプでフォーマットされた各値のタイプの例を示します。 {{anchor 表 57.3}} '''表 57.3 フォーマットされた値の例''' ,'''値のタイプ''','''元の値''',"{{span style='color:blue;font-family:monospace;',s}}{{br}}(ショート フォーマット)","{{span style='color:blue;font-family:monospace;',r}}{{br}}(標準フォーマット)","{{span style='color:blue;font-family:monospace;',l}}{{br}}(ロング フォーマット)","{{span style='color:blue;font-family:monospace;',z}}{{br}}(0 フォーマット)" ,0{{br}}(日の数),"{{span style='color:blue;font-family:monospace;',2}}",2,2,2,02 ,1{{br}}(日の名前(訳者注: 曜日)),"{{span style='color:blue;font-family:monospace;',2}}",T,Tue,Tuesday,使用できません ,2{{br}}(月の名前),"{{span style='color:blue;font-family:monospace;',11}}",N,Nov,November,使用できません ,3{{br}}(月の数),"{{span style='color:blue;font-family:monospace;',11}}",11,11,11,11 ,4{{br}}(年の数),"{{span style='color:blue;font-family:monospace;',2000}}",00,2000,2000,使用できません 例えば、以下のように {{span style='color:blue;font-family:monospace;',DateTemplateToAscii}} 呼び出しを行います。 DateTemplateToAscii("^0z ^2l ^4r", 2, 7, 2000, myStr, 20) 以下のフォーマットされた文字列が作成されます。   {{span style='color:blue;font-family:monospace;',07 February 2000}} '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合にのみ、実装されます。それより前の Palm OS バージョンで実行させることを意図したコードの中でこの関数を使用するには、PalmOSGlue ライブラリへリンクして、{{span style='color:blue;font-family:monospace;',DateGlueTemplateToAscii}} を呼び出します。追加情報は、[[第 80 章 「PalmOSGlue ライブラリ」|Palm OS Progurammer's API/80]] を参照してください。 '''参照''' {{goto DateToAscii,DateToAscii()}}, {{goto DateToDOWDMFormat,DateToDOWDMFormat()}} !{{anchor DateToAscii}}DateToAscii 関数 {{goto top,^TOP^}} '''目的''' 渡された日付を、{{span style='color:blue;font-family:monospace;',dateFormat}} パラメータで指定されたフォーマットを使って、文字列に変換します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' void DateToAscii ( UInt8 months, UInt8 days, UInt16 years, DateFormatType dateFormat, Char *pString ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ months}} **月の数。この値は {{span style='color:blue;font-family:monospace;',1}} から {{span style='color:blue;font-family:monospace;',12}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ days}} **日の数。この値は {{span style='color:blue;font-family:monospace;',1}} から {{span style='color:blue;font-family:monospace;',31}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ years}} **4 桁の年の数。例えば、{{span style='color:blue;font-family:monospace;',1995}}。*{{span style='color:blue;font-family:monospace;',→ dateFormat}} **いずれかの {{goto DateFormatType,DateFormatType}} フォーマット。 *{{span style='color:blue;font-family:monospace;',← pString}} **結果で更新される文字列へのポンタ{{br}}個の文字列の長さは、ショート フォーマットでは {{span style='color:blue;font-family:monospace;',dateStringLength}}、ミディアムまたはロング フォーマットでは {{span style='color:blue;font-family:monospace;',longDateStrLength}} でなければなりません。これらの長さは終端の null バイトを含むということに注意してください。要求される文字列の長さについての追加情報は、{{goto タイム マネージャ定数,タイム マネージャ定数}} を参照してください。 '''返り値''' 返り値はありません。{{span style='color:blue;font-family:monospace;',pString}} で参照される文字列がフォーマットされた文字列で更新されます。 '''コメント''' デバッグ ROM を使用している場合、文字列バッファは {{span style='color:blue;font-family:monospace;',dateStringLength}} または {{span style='color:blue;font-family:monospace;',longStrLength}} のデバッグ バイトで埋められます。デバッグ ROM を使用している場合、バッファ オーバフロー エラーを見つけることは困難である可能性があります。1 つの共通の状況は、フォームから取り出した非常に小さなバッファ -- ラベルやタイトルなどの要素のための -- を渡した場合です。その場合、バッファ オーバフローはメモリの中でフォームの後に続いているオブジェクトを消し去ります。フォーム要素の位置情報が破壊されると、その要素はディスプレイから消えます。 3.5 feature set が満たされる(存在する)場合、この関数の代わりに {{goto DateTemplateToAscii,DateTemplateToAscii()}} を使用できることに注意してください。バッファに要求されるサイズをあらかじめ決定するために、NULL 文字列バッファと一緒に {{goto DateTemplateToAscii,DateTemplateToAscii()}} を呼び出すことができます。 '''参照''' {{goto TimeToAscii,TimeToAscii()}}, {{goto DateToDOWDMFormat,DateToDOWDMFormat()}}, {{goto DateTemplateToAscii,DateTemplateToAscii()}} !{{anchor DateToDays}}DateToDays 関数 {{goto top,^TOP^}} '''目的''' {{goto DateType,DateType}} 構造体を 1904 年 1 月 1 日からの経過時間としての日数に変換します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' UInt32 DateToDays ( DateType date ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ data}} **{{goto DateType,DateType}} 構造体 '''返り値''' 1904 年 1 月 1 日から指定された {{span style='color:blue;font-family:monospace;',date}} までの経過時間としての日数を返します。 '''参照''' {{goto DateDaysToDate,DateDaysToDate()}} !{{anchor DateToDOWDMFormat}}DateToDOWDMFormat 関数 {{goto top,^TOP^}} '''目的''' 日付を、{{span style='color:blue;font-family:monospace;',dateFormat}} パラメータで指定されたフォーマットを使って、フォーマットされた文字列に変換します。結果の文字列は週の日の名前(訳者注: 曜日)を含みます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' void DateToDOWDMFormat ( UInt8 months, UInt8 days, UInt16 years, DateFormatType dateFormat, Char *pString ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ months}} **月の数。この値は {{span style='color:blue;font-family:monospace;',1}} から {{span style='color:blue;font-family:monospace;',12}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ days}} **日の数。この値は {{span style='color:blue;font-family:monospace;',1}} から {{span style='color:blue;font-family:monospace;',31}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ years}} **4 桁の年の数。例えば、{{span style='color:blue;font-family:monospace;',1995}}。 *{{span style='color:blue;font-family:monospace;',→ dateFormat}} **いずれかの {{goto DateFormatType,DateFormatType}} フォーマット *{{span style='color:blue;font-family:monospace;',← pString}} **結果で更新される文字列へのポインタ。この文字列の長さは、ショート ファーマットであれば {{span style='color:blue;font-family:monospace;',dowDateStringLength}}、ミディアムまたはロング フォーマットであれば {{span style='color:blue;font-family:monospace;',dowLongDateStringLength}} でなければなりません。文字列バッファの長さについては、{{goto タイム マネージャ定数,タイム マネージャ定数}} を参照してください。 '''返り値''' 返り値はありません。{{span style='color:blue;font-family:monospace;',pString}} で参照される文字列は、フォーマットされた文字列で更新されます。 '''コメント''' 要求される文字列バッファの長さを指定する {{goto タイム マネージャ定数,タイム マネージャ定数}} のいくつかの値はその時その時で変化します。常に定数を使用するか、{{span style='color:blue;font-family:monospace;',datetime.h}} ファイルをチェックすることで要求される長さを確かめるべきです。 文字列バッファに十分な空き容量を割り当てることが重要です。デバッグ ROM を使用している場合、バッファ オーバフロー エラーを見つけることは困難である可能性があります。1 つの共通の状況は、フォームから取り出した非常に小さなバッファ -- ラベルやタイトルなどの要素のための -- を渡した場合です。その場合、バッファ オーバフローはメモリの中でフォームの後に続いているオブジェクトを消し去ります。フォーム要素の位置情報が破壊されると、その要素はディスプレイから消えます。 3.5 feature set が満たされる(存在する)場合、この関数の代わりに {{goto DateTemplateToAscii,DateTemplateToAscii()}} を使用できることに注意してください。バッファに要求されるサイズをあらかじめ決定するために、NULL 文字列バッファと一緒に {{goto DateTemplateToAscii,DateTemplateToAscii()}} を呼び出すことができます。 '''互換性''' Palm OS 3.1 日本語 ROM では、この関数には 4 バイト長の日の名前(訳者注: 曜日)を適切に表示しないというバグがあります。このバグが作成するアプリケーションに影響を与えることを避けるために、この関数を直接呼び出す代わりに、PalmOSGlue ライブラリの中の {{span style='color:blue;font-family:monospace;',DateGlueToDOWDMFormat}} を使用してください。追加情報は、[[第 80 章 「PalmOSGlue ライブラリ」|Palm OS Programmer's API Reference/80]]を参照してください。 '''参照''' {{goto DateToAscii,DateToAscii()}}, {{goto DateTemplateToAscii,DateTemplateToAscii()}} !{{anchor DayOfMonth}}DayOfMonth 関数 {{goto top,^TOP^}} '''目的''' 指定された日付が存在する月の日を表す値を返します。値は「最初の月曜日」や「3 番目の金曜日」などの予定表の中の繰り返すアポイントメントに使用される数を表します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' Int16 DayOfMonth ( Int16 month, Int16 day, Int16 year ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ month}} **月の数。この値は {{span style='color:blue;font-family:monospace;',1}} から {{span style='color:blue;font-family:monospace;',12}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ day}} **日の数。この値は {{span style='color:blue;font-family:monospace;',1}} から {{span style='color:blue;font-family:monospace;',31}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ year}} **4 桁の年の数。例えば、{{span style='color:blue;font-family:monospace;',1995}}。 '''返り値''' その月の日を表す値を返します。この値は {{goto DayOfMonthType,DayOfMonthType}} 値の 1 つです。 '''コメント''' 返される値は、繰り返すアポイントメントが位置するその月の日を指定するのに使用することができます。 !{{anchor DayOfWeek}}DayOfWeek 関数 {{goto top,^TOP^}} '''目的''' 指定された日付の週の曜日を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' Int16 DayOfWeek ( Int16 month, Int16 day, Int16 year ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ month}} **月の数。この値は {{span style='color:blue;font-family:monospace;',1}} から {{span style='color:blue;font-family:monospace;',12}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ day}} **日の数。この値は {{span style='color:blue;font-family:monospace;',1}} から {{span style='color:blue;font-family:monospace;',31}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ year}} **4 桁の年の数。例えば、{{span style='color:blue;font-family:monospace;',1995}}。 '''返り値''' 以下の表で示す指定された日付の週の曜日のための値の 1 つを返します。 ,'''曜日''','''返される日の値''' ,日曜日,"{{span style='color:blue;font-family:monospace;',0}}" ,月曜日,"{{span style='color:blue;font-family:monospace;',1}}" ,火曜日,"{{span style='color:blue;font-family:monospace;',2}}" ,水曜日,"{{span style='color:blue;font-family:monospace;',3}}" ,木曜日,"{{span style='color:blue;font-family:monospace;',4}}" ,金曜日,"{{span style='color:blue;font-family:monospace;',5}}" ,土曜日,"{{span style='color:blue;font-family:monospace;',6}}" !{{anchor DaysInMonth}}DaysInMonth 関数 {{goto top,^TOP^}} '''目的''' 月の日数を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' Int16 DaysInMonth ( Int16 month, Int16 year ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ month}} **月の数。この値は {{span style='color:blue;font-family:monospace;',1}} から {{span style='color:blue;font-family:monospace;',12}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ year}} **4 桁の年の数。例えば、{{span style='color:blue;font-family:monospace;',1995}}。 '''返り値''' 指定された年と月の日数を返します。 !{{anchor TimeAdjust}}TimeAdjust 関数 {{goto top,^TOP^}} '''目的''' 指定された秒数で調節された時刻を持つ新しい日付を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' void TimAdjust ( DateTimeType *dateTimeP, Int32 adjustment ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ dateTimeP}} **{{goto DateType,DateType}} 構造体へのポインタ *{{span style='color:blue;font-family:monospace;',→ adjustment}} **時刻を調節するための秒数 '''返り値''' 返り値はありません。{{span style='color:blue;font-family:monospace;',dateTimeP}} で参照される構造体は、更新された日付と時刻を保持するように更新されます。 '''コメント''' この関数は指定された秒数の分だけ時刻を進め、すべての回り込み条件(訳者注: ?原文は any wraparound conditions)に気を配ります。 '''参照''' {{goto DateAdjust,DateAdjust()}} !{{anchor TimeDateTimeToSeconds}}TimeDateTimeTiSeconds 関数 {{goto top,^TOP^}} '''目的''' 1904 年 1 月 1 日午前 12:00 時から指定された日付と時刻までの経過秒数を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' UInt32 TimDateTimeToSeconds ( const DateTimeType *dateTimeP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ dateTimeP}} **{{goto DateTimeType,DateTiimeType}} 構造体へのポインタ '''返り値''' 1904 年 1 月 1 日午前 12:00 時から {{span style='color:blue;font-family:monospace;',dateTimeP}} によって参照される日付までの経過秒数を返します。 '''参照''' {{goto TimSecondsToDateTime,TimSecondsToDateTime()}} !{{anchor TimeGetSeconds}}TimeGetSeconds 関数 {{goto top,^TOP^}} '''目的''' デバイスの現在の日付と時刻を 1904 年 1 月 1 日午前 12:00 時からの秒数で返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' UInt32 TimGetSeconds ( void ) '''パラメータ''' ありません。 '''返り値''' 1904 年 1 月 1 日午前 12:00 時からデバイスの現在の日付と時刻までの経過秒数を返します。 '''参照''' {{goto TimeSetSeconds,TimeSetSeconds()}} !{{anchor TimeGetTicks}}TimeGetTicks 関数 {{goto top,^TOP^}} '''目的''' 最後のリセットからのチェック カウントを返します。チェック カウントは、デバイスがスリープ モードに入っている間は進みません。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' UInt32 TimGetTicks ( void ) '''パラメータ''' ありません。 '''返り値''' チェック カウントを返します。 '''コメント''' {{goto SysTicksPerSecond,SysTicksPerSecond()|Palm OS Programmer's API Reference/54}} ルーチンを呼び出すことで 1 秒毎のチェック数を決定することができます。 '''参照''' {{goto SysTicksPerSecond,SysTicksPerSecond()|Palm OS Programmer's API Reference/54}} !{{anchor TimeSecondsToDateTime}}TimeSecondsToDateTime 関数 {{goto top,^TOP^}} '''目的''' 1904 年 1 月 1 日からの秒数として指定された日付を {{goto DateTimeType,DateTimeType}} 構造体に変換します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' void TimSecondsToDateTime ( UInt32 seconds, DateTimeType *dateTimeP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ seconds}} **1904 年 1 月 1 日午前 12:00 時から日付までの経過秒数として指定される日付 *{{span style='color:blue;font-family:monospace;',← dateTimeP}} **日付と時刻の値で更新される {{goto DateTimeType,DateTimeType}} 構造体へのポインタ '''返り値''' 返り値はありません。{{span style='color:blue;font-family:monospace;',dateTimeP}} で参照される構造体は、1904 年 1 月 1 日午前 12:00 時からの秒数として計算された日付と時刻で更新されます。 '''参照''' {{goto TimeDateTimeToSeconds,TimeDateTimeToSeconds()}} !{{anchor TimeSetSeconds}}TimeSetSeconds 関数 {{goto top,^TOP^}} '''目的''' デバイスの時計を1904 年 1 月 1 日午前 12:00 時からの秒数として渡された日付と時刻にセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' void TimSetSeconds ( UInt32 seconds ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ seconds}} **1904 年 1 月 1 日午前 12:00 時からの秒数 '''返り値''' 返り値はありません。 '''コメント''' {{goto Notification Feature Set,Notification Feature Set|Palm OS Programmer's API Reference/B}} が満たされる(存在する)場合、この関数は {{span style='color:blue;font-family:monospace;',sysNotifyTimeChageEvent}} をすべての関心を持つパーティーにブロードキャストします。追加情報は、[[第 43 章 「通知マネージャ」|Palm OS Programmer's API Reference/B]]を参照してください。 '''参照''' {{goto TimeGetSeconds,TimeGetSeconds()}} !{{anchor TimeToAscii}}TimeToAscii 関数 {{goto top,^TOP^}} '''目的''' 時刻を、指定された {{span style='color:blue;font-family:monospace;',timeFormat}} に適切にフォーマットされた文字列に変換します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' void TimeToAscii ( UInt8 hours, UInt8 minutes, TimeFormatType timeFormat, Char *pString ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ hours}} **時の数。この値は {{span style='color:blue;font-family:monospace;',0}} から {{span style='color:blue;font-family:monospace;',23}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ minutes}} **分の数。この値は {{span style='color:blue;font-family:monospace;',0}} から {{span style='color:blue;font-family:monospace;',59}} までの値でなければなりません。 *{{span style='color:blue;font-family:monospace;',→ timeFormat}} **結果の文字列のための時刻フォーマット。この値は {{goto TimeFormatType,TimeFormatType}} 値の 1 つでなければなりません。 *{{span style='color:blue;font-family:monospace;',← pString}} **結果の文字列で更新される文字列へのポインタ。この文字列の長さは {{span style='color:blue;font-family:monospace;',timeStringLength}} でなければなりません。{{br}}文字列バッファの長さについての情報は、{{goto タイム マネージャ定数,タイム マネージャ定数}}を参照してください。 '''返り値''' 返り値はありません。{{span style='color:blue;font-family:monospace;',pString}} によって参照される文字列は、フォーマットされた文字列で更新されます。 '''コメント''' Palm OS 3.5 のデバッグ ROM を使用している場合、文字列バッファは {{span style='color:blue;font-family:monospace;',timeStringLength}} のデバッグ バイトで埋められます。 文字列バッファに十分な空き容量を割り当てることが重要です。デバッグ ROM を使用している場合、バッファ オーバフロー エラーを見つけることは困難である可能性があります。1 つの共通の状況は、フォームから取り出した非常に小さなバッファ -- ラベルやタイトルなどの要素のための -- を渡した場合です。その場合、バッファ オーバフローはメモリの中でフォームの後に続いているオブジェクトを消し去ります。フォーム要素の位置情報が破壊されると、その要素はディスプレイから消えます。 '''参照''' {{goto DateToAscii,DateToAscii()}} !{{anchor TimeZoneToAscii}}TimeZoneToAscii 関数 {{goto top,^TOP^}} '''目的''' タイム ゾーンを文字列に変換します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' void TimeZoneToAscii ( Int16 timeZone, const LmLocaleType *localeP, Char *string ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ timeZone}} **グリニッジ標準時(GMT)から何分東かで与えられるタイム ゾーンへのポインタ *{{span style='color:blue;font-family:monospace;',→ localP}} **タイム ゾーン カントリを示すロケール({{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} を参照してください)へのポインタ。このパラメータによって指される構造体の言語フィールドの値として定数 {{span style='color:blue;font-family:monospace;',lmAnyLaguage}} を使用することができます。 *{{span style='color:blue;font-family:monospace;',← string}} **結果が返される文字列へのポインタ。この文字列の長さは {{span style='color:blue;font-family:monospace;',timeZoneStringLength}} でなければなりません。 '''返り値''' 返り値はありません。 '''コメント''' この関数は指定されたタイム ゾーンのための記述文字列を返します。この文字列はタイム ゾーンをまず「USA (Mountain)」や「Canada (Eastern)」などのカントリと同定します。関数が指定された GMT オフセットとカントリに一致するタイム ゾーンを見つけられなかった場合、GMT からのオフセットとしてのタイム ゾーンを保持する文字列を返します(例えば、「GMT+9:00」)。 '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合にのみ、実装されます。 !{{anchor TimeTimeZoneToUTC}}TimeTimeZoneToUTC 関数 {{goto top,^TOP^}} '''目的''' 日付と時刻を、与えられたタイム ゾーンから Universal Coordinated Time (UTC) に変換します。UTC はグリニッジ標準時(GMT)としても知られます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' UInt32 TimTimeZoneToUTC ( UInt32 seconds, Int16 timeZone, Int16 daylightSavingAdjustment ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ seconds}} **1904 年 1 月 1 日午前 12:00 時からの秒数 *{{span style='color:blue;font-family:monospace;',→ timeZone}} **UTC の何分東かの数として与えられるタイム ゾーン。UTC の西から日付変更線までのタイム ゾーンでは、この値は負の数になります。 *{{span style='color:blue;font-family:monospace;',→ daylightSavingAdjustment}} **このタイム ゾーンの中の夏時間のための現在の時刻に加えるための分数。 '''返り値''' {{span style='color:blue;font-family:monospace;',seconds}} の時刻を UCT で返します。この値はやはり1904 年 1 月 1 日午前 12:00 時からの秒数です。 '''コメント''' 返り値は必ずしもグリニッジ時刻ではありません。なぜなら、グリニッジは夏時間に入っているかもしれないからです。 この関数を時刻を UTC に変換するために使用することができます。タイム ゾーンと夏時間調節は、{{goto PrefGetPreference,PrefGetPreference()}} を使って取得することができるシステム設定です。例えば、以下に示すコードは現在のローカル時刻を UTC に変換します。 Int16 timeZone = PrefGetPreference(prefTimeZone); Int16 daylightSavingAdjustment = PrefGetPreference( prefDaylightSavingAdjustment); UInt32 utcTime = TimTimeZoneToUTC(TimGetSeconds(), timeZone, daylightSavingAdjustment); '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合にのみ、実装されます。 '''参照''' {{goto TimeUTCToTimeZone,TimeUTCToTimeZone()}} !{{anchor TimeUTCToTimeZone}}TimeUTCToTimeZone 関数 {{goto top,^TOP^}} '''目的''' 日付と時刻を、Universal Coordinated Time (UTC) から指定されたタイム ゾーンに変換します。UTC はグリニッジ標準時(GMT)としても知られます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',DateTime.h}} '''Prototype''' UInt32 TimUTCToTimeZone ( UInt32 seconds, Int16 timeZone, Int16 daylightSavingAdjustment ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ seconds}} **UTC での 1904 年 1 月 1 日午前 12:00 時からの秒数 *{{span style='color:blue;font-family:monospace;',→ timeZone}} **UTC の何分東かの数として与えられるタイム ゾーン。UTC の西から日付変更線までのタイム ゾーンでは、この値は負の数になります。 *{{span style='color:blue;font-family:monospace;',→ daylightSavingAdjustment}} **このタイム ゾーンの中の夏時間のための現在の時刻に加えるための分数。 '''返り値''' {{span style='color:blue;font-family:monospace;',seconds}} の時刻を指定されたタイム ゾーンで返します。この値はやはり1904 年 1 月 1 日午前 12:00 時からの秒数です。 '''コメント''' {{span style='color:blue;font-family:monospace;',seconds}} 値は必ずしもグリニッジ時刻ではありません。なぜなら、グリニッジは夏時間に入っているかもしれないからです。 '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B}} を満たす場合にのみ、実装されます。 '''参照''' {{goto TimeTimeZoneToUTC,TimeTimeZoneToUTC()}} ---- [[← 56 章に戻る|Palm OS Programmer's API Reference/56]] [[↑トップへ|Palm OS Programmer's API Reference]] [[58 章に進む →|Palm OS Programmer's API Reference/58]]