Man page - settimeofday(2)

Packages contains this manual

Available languages:

en fr nl ja ru ro

Manual

GETTIMEOFDAY

名 前
書 åŧ
čĒŦ 明
čŋ” り 値
エ ナ ãƒŧ
æē– 拠
æŗ¨ 意
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

gettimeofday, settimeofday - 時 åˆģ を 取 åž— /設 厚 す る

書 åŧ

#include <sys/time.h>

int gettimeofday(struct timeval * tv , struct timezone * tz );

int settimeofday(const struct timeval * tv , const struct timezone * tz );

glibc 向 け ぎ 抟 čƒŊ 検 æŸģ マ ク ロ ぎ čρ äģļ ( feature_test_macros (7) 参 į…§ ):

settimeofday (): _BSD_SOURCE

čĒŦ 明

é–ĸ 数 gettimeofday () と settimeofday () は 時 åˆģ と ã‚ŋ イ ム ゞ ãƒŧ ãƒŗ を 取 åž— ぞ た は 設 厚 す る 。 tv åŧ• き 数 は struct timeval で あ る ( <sys/time.h> で 厚 įžŠ さ れ ãĻ い る ):

struct timeval {
time_t tv_sec; /* į§’ */
suseconds_t tv_usec; /* マ イ ク ロ į§’ */
};

こ れ ãĢ よ り į´€ 元 (the Epoch: time (2) を 参 į…§ ) か ら ぎ į§’ と マ イ ク ロ į§’ が 取 åž— で き る 。 tz åŧ• き 数 は struct timezone で あ る :

struct timezone {
int tz_minuteswest; /* グ ãƒĒ ニ ッ ジ 標 æē– 時 と ぎ åˇŽ (čĨŋ æ–š ãĢ 分 単 äŊ ) */
int tz_dsttime; /* 夏 時 間 čĒŋ 整 ぎ 型 */
};

tv や tz が NULL ぎ å ´ 合 、 寞 åŋœ す る 構 造 äŊ“ ぎ 設 厚 /取 åž— は 行 わ れ ãĒ い (た だ し 、 tv が NULL ぎ å ´ 合 ãĢ は 、 ã‚ŗ ãƒŗ パ イ ãƒĢ 時 ぎ č­Ļ 告 が į™ē į”Ÿ す る )。

timezone 構 造 äŊ“ ぎ 刊 ᔍ は åģƒ æ­ĸ äēˆ åŽš と さ れ ãĻ い る ; 通 常 は tz åŧ• き 数 ãĢ NULL を 指 厚 す ず き で あ る (下 記 ぎ 「 æŗ¨ 意 」 を 参 į…§ )。

Linux で は 、 settimeofday () ã‚ˇ ゚ テ ム ã‚ŗ ãƒŧ ãƒĢ ãĢ é–ĸ 逪 し ãĻ 、 į‹Ŧ į‰š ぎ 「 ク ロ ッ ク ぎ ã‚ē ãƒŦ (warp clock)」 が 存 在 す る å ´ 合 が あ る 。 こ れ は (ブ ãƒŧ ト 垌 ぎ ) 最 初 ぎ å‘ŧ ãŗ å‡ē し で tz åŧ• き 数 が NULL で ãĒ く 、 tv åŧ• き 数 が NULL で tz_minuteswest フ ã‚Ŗ ãƒŧ ãƒĢ ド が 0 で ãĒ い å ´ 合 ãĢ čĩˇ こ る (こ ぎ å ´ 合 tz_dsttime フ ã‚Ŗ ãƒŧ ãƒĢ ド は 0 ãĢ す ず き で あ る )。 こ ぎ よ う ãĒ å ´ 合 、 settimeofday () は CMOS ク ロ ッ ク が 地 æ–š 時 (local time) で あ り 、 UTC ã‚ˇ ゚ テ ム 時 間 を åž— る た め ãĢ は 、 tz_minuteswest ぎ 分 だ け åĸ— 加 さ せ ãĒ く ãĻ は ãĒ ら ãĒ い と ãŋ ãĒ し ãĻ し ぞ う 。 į–‘ い も ãĒ く 、 こ ぎ 抟 構 を äŊŋ う こ と は 艝 い 考 え で は ãĒ い 。

čŋ” り 値

gettimeofday () と settimeofday () は 成 功 す る と 0 を čŋ” し 、 å¤ą 敗 し た å ´ 合 は -1 を čŋ” す (こ ぎ å ´ 合 は errno が 遊 切 ãĢ 設 厚 さ れ る )。

エ ナ ãƒŧ

EFAULT

tv か tz ぎ お ãĄ ら か が ã‚ĸ ク ã‚ģ ゚ 可 čƒŊ ãĒ ã‚ĸ ド ãƒŦ ゚ įŠē 間 外 を 指 し ãĻ い る 。

EINVAL

ã‚ŋ イ ム ゞ ãƒŧ ãƒŗ (ぞ た は äģ– ãŽ äŊ• か ) が 不 æ­Ŗ で あ る 。

EPERM

å‘ŧ ãŗ å‡ē し 元 プ ロ ã‚ģ ゚ ãĢ settimeofday () を å‘ŧ ãŗ å‡ē す た め ぎ 十 分 ãĒ į‰š 樊 が ãĒ い 。 Linux で は CAP_SYS_TIME ã‚ą ãƒŧ パ ビ ãƒĒ テ ã‚Ŗ (capability) が åŋ… čρ で あ る 。

æē– 拠

SVr4, 4.3BSD ãĢ æē– 拠 す る 。 POSIX.1-2001 は gettimeofday () ãĢ つ い ãĻ は 記 čŋ° し ãĻ い る が 、 settimeofday () ãĢ つ い ãĻ は 記 čŋ° し ãĻ い ãĒ い 。 POSIX.1-2008 で は gettimeofday () は åģƒ æ­ĸ äēˆ åŽš と さ れ ãĻ お り 、 äģŖ ã‚ り ãĢ clock_gettime (2) ぎ äŊŋ ᔍ が 推 åĨ¨ さ れ ãĻ い る 。

æŗ¨ 意

gettimeofday () が čŋ” す 時 åˆģ は 、 ã‚ˇ ゚ テ ム 時 間 ぎ 不 逪 įļš ãĒ 変 化 (例 え ば 、 ã‚ˇ ゚ テ ム įŽĄ ᐆ 者 が ã‚ˇ ゚ テ ム 時 間 を 手 動 で 変 更 し た å ´ 合 ãĒ お ) ぎ åŊą éŸŋ を 受 け る 。 単 čĒŋ åĸ— 加 す る ク ロ ッ ク が åŋ… čρ ãĒ å ´ 合 は 、 clock_gettime (2) を 参 į…§ し ãĻ ãģ し い 。

timeval 構 造 äŊ“ を 操 äŊœ す る た め ぎ マ ク ロ ぎ čĒŦ 明 は timeradd (3) ãĢ あ る 。

昔 は struct timeval ぎ フ ã‚Ŗ ãƒŧ ãƒĢ ド は long 型 で あ ãŖ た 。

tz_dsttime は Linux で こ れ ぞ で äŊŋ わ れ た こ と は ãĒ い 。 し た が ãŖ ãĻ 、 äģĨ 下 は į´” ឋ ãĢ æ­´ å˛ įš„ ãĒ 興 呺 か ら 書 か れ た も ぎ で あ る 。

tz_dsttime フ ã‚Ŗ ãƒŧ ãƒĢ ド ãĢ は (下 記 ãĢ į¤ē す ) ã‚ˇ ãƒŗ ボ ãƒĢ 厚 数 が æ ŧ į´ さ れ る 。 こ れ は 一 åš´ ぎ う ãĄ で い つ 夏 時 間 (Daylight Savings Time) を 原 æ–Ŋ す る か を į¤ē し ãĻ い る (æŗ¨ 意 : そ ぎ 値 は åš´ 間 を 通 し た 厚 数 で あ る : 夏 時 間 が 原 æ–Ŋ 中 で あ る こ と を į¤ē す わ け で は ãĒ く 、 ã‚ĸ ãƒĢ ゴ ãƒĒ ã‚ē ム を 選 択 し ãĻ い る だ け で あ る )。 夏 時 間 は äģĨ 下 ぎ よ う ãĢ 厚 įžŠ さ れ る :

DST_NONE /* 夏 時 間 を æŽĄ ᔍ し ãĻ い ãĒ い */
DST_USA
/* ã‚ĸ ãƒĄ ãƒĒ ã‚Ģ 合 衆 å›Ŋ åŧ 夏 時 間 */
DST_AUST
/* ã‚Ē ãƒŧ ゚ ト ナ ãƒĒ ã‚ĸ åŧ 夏 時 間 */
DST_WET
/* čĨŋ ヨ ãƒŧ ロ ッ パ åŧ 夏 時 間 */
DST_MET
/* 中 夎 ヨ ãƒŧ ロ ッ パ åŧ 夏 時 間 */
DST_EET
/* æą ヨ ãƒŧ ロ ッ パ åŧ 夏 時 間 */
DST_CAN
/* ã‚Ģ ナ ダ */
DST_GB
/* グ ãƒŦ ãƒŧ ト ブ ãƒĒ テ ãƒŗ お よ ãŗ ã‚ĸ イ ãƒĢ ナ ãƒŗ ド */
DST_RUM
/* ãƒĢ ãƒŧ マ ニ ã‚ĸ */
DST_TUR
/* ト ãƒĢ ã‚ŗ */
DST_AUSTALT
/* 1986åš´ ãĢ į§ģ 行 さ れ た ã‚Ē ãƒŧ ゚ ト ナ ãƒĒ ã‚ĸ åŧ */

åŊ“ į„ļ ぎ こ と ãĒ が ら 、 夏 時 間 が お ぎ 期 間 ãĢ 原 æ–Ŋ さ れ る か を å›Ŋ ご と ぎ į°Ą 単 ãĒ ã‚ĸ ãƒĢ ゴ ãƒĒ ã‚ē ム で 導 く こ と が で き ãĒ い こ と が 判 明 し た 。 原 際 、 夏 時 間 ぎ 期 間 は äēˆ æ¸Ŧ 不 可 čƒŊ ãĒ æ”ŋ æ˛ģ įš„ æąē 厚 で æąē 厚 さ れ る 。 そ ぎ た め 、 こ ぎ æ–š æŗ• で ã‚ŋ イ ム ゞ ãƒŧ ãƒŗ を 襨 す こ と は 断 åŋĩ さ れ た 。 Linux ãĢ お い ãĻ settimeofday () を å‘ŧ ãŗ å‡ē す と き は 、 tz_dsttime フ ã‚Ŗ ãƒŧ ãƒĢ ド を 0 ãĢ す る ず き で あ る 。

é–ĸ 逪 項 į›Ž

date (1), adjtimex (2), clock_gettime (2), time (2), ctime (3), ftime (3), timeradd (3), capabilities (7), time (7)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 3.79 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は http://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。