.\" Updated 2006-07-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
.\" Updated 2009-04-13, Akihiro MOTOKI, LDP v3.20
.\"
-.\"WORD: timezone ¥¿¥¤¥à¥¾¡¼¥ó
-.\"WORD: daylight savings times ²Æ»þ´Ö(daylight savings times)
-.\"WORD: macro ¥Þ¥¯¥í
+.\"WORD: timezone タイムゾーン
+.\"WORD: daylight savings times 夏時間(daylight savings times)
+.\"WORD: macro マクロ
.\"WORD: null NULL
-.\"WORD: superuser ¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼
+.\"WORD: superuser ã\82¹ã\83¼ã\83\91ã\83¼ã\83»ã\83¦ã\83¼ã\82¶ã\83¼
.\"
.TH GETTIMEOFDAY 2 2009-03-25 "Linux" "Linux Programmer's Manual"
.\"O .SH NAME
-.SH ̾Á°
+.SH 名前
.\"O gettimeofday, settimeofday \- get / set time
-gettimeofday, settimeofday \- »þ¹ï¤ò¼èÆÀ/ÀßÄꤹ¤ë
+gettimeofday, settimeofday \- 時刻を取得/設定する
.\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
.nf
.B #include <sys/time.h>
.in -4n
.\"O Feature Test Macro Requirements for glibc (see
.\"O .BR feature_test_macros (7)):
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
.RB ( feature_test_macros (7)
-»²¾È):
+参照):
.in
.sp
.BR settimeofday ():
_BSD_SOURCE
.\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
.\"O The functions
.\"O .BR gettimeofday ()
.\"O and
.\"O .I struct timeval
.\"O (as specified in
.\"O .IR <sys/time.h> ):
-´Ø¿ô
+関数
.BR gettimeofday ()
-¤È
+と
.BR settimeofday ()
-¤Ï»þ¹ï¤È¥¿¥¤¥à¥¾¡¼¥ó¤ò¼èÆÀ¤Þ¤¿¤ÏÀßÄꤹ¤ë¡£
+は時刻とタイムゾーンを取得または設定する。
.I tv
-°ú¤¿ô¤Ï
+引き数は
.I struct timeval
-¤Ç¤¢¤ë
+である
.RI ( <sys/time.h>
-¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë):
+で定義されている):
.sp
.in +4n
.nf
struct timeval {
.\"O time_t tv_sec; /* seconds */
.\"O suseconds_t tv_usec; /* microseconds */
- time_t tv_sec; /* ÉÃ */
- suseconds_t tv_usec; /* ¥Þ¥¤¥¯¥íÉà */
+ time_t tv_sec; /* 秒 */
+ suseconds_t tv_usec; /* マイクロ秒 */
};
.fi
.in
.\"O .I tz
.\"O argument is a
.\"O .IR "struct timezone" :
-¤³¤ì¤Ë¤è¤êµª¸µ (the Epoch:
+これにより紀元 (the Epoch:
.BR time (2)
-¤ò»²¾È) ¤«¤é¤ÎÉäȥޥ¤¥¯¥íÉ䬼èÆÀ¤Ç¤¤ë¡£
+を参照) からの秒とマイクロ秒が取得できる。
.I tz
-°ú¤¿ô¤Ï
+引き数は
.I "struct timezone"
-¤Ç¤¢¤ë:
+である:
.sp
.in +4n
.nf
struct timezone {
.\"O int tz_minuteswest; /* minutes west of Greenwich */
.\"O int tz_dsttime; /* type of DST correction */
- int tz_minuteswest; /* ¥°¥ê¥Ë¥Ã¥¸É¸½à»þ¤È¤Îº¹ (À¾Êý¤Ëʬñ°Ì) */
- int tz_dsttime; /* ²Æ»þ´ÖÄ´À°¤Î·¿ */
+ int tz_minuteswest; /* グリニッジ標準時との差 (西方に分単位) */
+ int tz_dsttime; /* 夏時間調整の型 */
};
.fi
.in
.\"O .I tz
.\"O is NULL, the corresponding structure is not set or returned.
.I tv
-¤ä
+や
.I tz
-¤¬ NULL ¤Î¾ì¹ç¡¢Âбþ¤¹¤ë¹½Â¤ÂΤÎÀßÄê/¼èÆÀ¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£
+が NULL の場合、対応する構造体の設定/取得は行われない。
.\" The following is covered under EPERM below:
.\" .PP
.\" Only the superuser may use
.\"O Thus, the following
.\"O is purely of historic interest.
.I timezone
-¹½Â¤ÂΤò»È¤¦¤Î¤Ï»þÂåÃÙ¤ì (obsolete) ¤Ç¤¢¤ë:
+構造体を使うのは時代遅れ (obsolete) である:
.I tz
-°ú¤¿ô¤ÏÄ̾ï¤Ï NULL ¤Ë»ØÄꤹ¤Ù¤¤Ç¤¢¤ë¡£
+引き数は通常は NULL に指定すべきである。
.I tz_dsttime
-¥Õ¥£¡¼¥ë¥É¤Ï Linux ¤Ç¤Ï°ìÀڻȤï¤ì¤Æ¤³¤Ê¤«¤Ã¤¿;
-libc ¤ä glibc ¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤³¤Ê¤«¤Ã¤¿¤·¡¢
-¤³¤ì¤«¤é¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£
-¥«¡¼¥Í¥ë¤Î¥½¡¼¥¹Ãæ¤ÎÀë¸À°Ê³°¤Ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤¬Â¸ºß¤¹¤ë¤Î¤ÏÁ´¤Æ¥Ð¥°¤Ç¤¢¤ë¡£
-¤è¤Ã¤Æ¤³¤ì°Ê¹ß¤Îµ½Ò¤Ï¡¢½ã¿è¤ËÎò»ËŪ¶½Ì£¤Ë´ð¤Å¤¤¤¿¤â¤Î¤Ç¤¢¤ë¡£
+フィールドは Linux では一切使われてこなかった;
+libc や glibc でもサポートされてこなかったし、
+これからもサポートされることはない。
+カーネルのソース中の宣言以外で、このフィールドが存在するのは全てバグである。
+よってこれ以降の記述は、純粋に歴史的興味に基づいたものである。
.\"O The field
.\"O .I tz_dsttime
.\"O algorithm.)
.\"O The daylight saving time algorithms defined are as follows :
.I tz_dsttime
-¥Õ¥£¡¼¥ë¥É¤Ë¤Ï (°Ê²¼¤ÇÍ¿¤¨¤é¤ì¤ë¤è¤¦¤Ê) ¥·¥ó¥Ü¥ëÄê¿ô¤¬³ÊǼ¤µ¤ì¤ë¡£
-¤³¤ì¤Ï°ìǯ¤Î¤¦¤Á¤Ç¤¤¤Ä²Æ»þ´Ö (Daylight Savings Time) ¤ò¼Â»Ü¤¹¤ë¤«¤ò¼¨¤·¤Æ¤¤¤ë
-(Ãí°Õ: ¤½¤ÎÃͤÏǯ´Ö¤òÄ̤·¤¿Äê¿ô¤Ç¤¢¤ë:
-²Æ»þ´Ö¤¬¼Â»ÜÃæ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢
-¥¢¥ë¥´¥ê¥º¥à¤òÁªÂò¤·¤Æ¤¤¤ë¤À¤±¤Ç¤¢¤ë)¡£
-²Æ»þ´Ö¤Ï°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤ë:
+フィールドには (以下で与えられるような) シンボル定数が格納される。
+これは一年のうちでいつ夏時間 (Daylight Savings Time) を実施するかを示している
+(注意: その値は年間を通した定数である:
+夏時間が実施中であることを示すわけではなく、
+アルゴリズムを選択しているだけである)。
+夏時間は以下のように定義される:
.in +4n
.nf
.\"O \fBDST_NONE\fP /* not on dst */
-\fBDST_NONE\fP /* ²Æ»þ´Ö¤òºÎÍѤ·¤Æ¤¤¤Ê¤¤ */
+\fBDST_NONE\fP /* 夏時間を採用していない */
.br
.\"O \fBDST_USA\fP /* USA style dst */
-\fBDST_USA\fP /* ¥¢¥á¥ê¥«¹ç½°¹ñ¼°²Æ»þ´Ö */
+\fBDST_USA\fP /* アメリカ合衆国式夏時間 */
.br
.\"O \fBDST_AUST\fP /* Australian style dst */
-\fBDST_AUST\fP /* ¥ª¡¼¥¹¥È¥é¥ê¥¢¼°²Æ»þ´Ö */
+\fBDST_AUST\fP /* オーストラリア式夏時間 */
.br
.\"O \fBDST_WET\fP /* Western European dst */
-\fBDST_WET\fP /* À¾¥è¡¼¥í¥Ã¥Ñ¼°²Æ»þ´Ö */
+\fBDST_WET\fP /* 西ヨーロッパ式夏時間 */
.br
.\"O \fBDST_MET\fP /* Middle European dst */
-\fBDST_MET\fP /* Ãæ±û¥è¡¼¥í¥Ã¥Ñ¼°²Æ»þ´Ö */
+\fBDST_MET\fP /* 中央ヨーロッパ式夏時間 */
.br
.\"O \fBDST_EET\fP /* Eastern European dst */
-\fBDST_EET\fP /* Åì¥è¡¼¥í¥Ã¥Ñ¼°²Æ»þ´Ö */
+\fBDST_EET\fP /* 東ヨーロッパ式夏時間 */
.br
.\"O \fBDST_CAN\fP /* Canada */
-\fBDST_CAN\fP /* ¥«¥Ê¥À */
+\fBDST_CAN\fP /* カナダ */
.br
.\"O \fBDST_GB\fP /* Great Britain and Eire */
-\fBDST_GB\fP /* ¥°¥ì¡¼¥È¥Ö¥ê¥Æ¥ó¤ª¤è¤Ó¥¢¥¤¥ë¥é¥ó¥É */
+\fBDST_GB\fP /* グレートブリテンおよびアイルランド */
.br
.\"O \fBDST_RUM\fP /* Rumania */
-\fBDST_RUM\fP /* ¥ë¡¼¥Þ¥Ë¥¢ */
+\fBDST_RUM\fP /* ã\83«ã\83¼ã\83\9eã\83\8bã\82¢ */
.br
.\"O \fBDST_TUR\fP /* Turkey */
-\fBDST_TUR\fP /* ¥È¥ë¥³ */
+\fBDST_TUR\fP /* ã\83\88ã\83«ã\82³ */
.br
.\"O \fBDST_AUSTALT\fP /* Australian style with shift in 1986 */
-\fBDST_AUSTALT\fP /* 1986ǯ¤Ë°Ü¹Ô¤µ¤ì¤¿¥ª¡¼¥¹¥È¥é¥ê¥¢¼° */
+\fBDST_AUSTALT\fP /* 1986年に移行されたオーストラリア式 */
.fi
.in
.PP
.\"O the
.\"O .I tz_dsttime
.\"O field should be zero.
-ÅöÁ³¤Î¤³¤È¤Ê¤¬¤é¡¢²Æ»þ´Ö¤¬¤É¤Î´ü´Ö¤Ë¼Â»Ü¤µ¤ì¤ë¤«¤ò
-¹ñ¤´¤È¤Î´Êñ¤Ê¥¢¥ë¥´¥ê¥º¥à¤ÇƳ¤¯¤³¤È¤¬¤Ç¤¤Ê¤¤¤³¤È¤¬È½ÌÀ¤·¤¿¡£
-¼ÂºÝ¡¢²Æ»þ´Ö¤Î´ü´Ö¤Ïͽ¬ÉÔ²Äǽ¤ÊÀ¯¼£Åª·èÄê¤Ç·è¤Þ¤ë¡£
-¤½¤Î¤¿¤á¤³¤ÎÊýË¡¤Ç¥¿¥¤¥à¡¦¥¾¡¼¥ó¤òɽ¤¹¤³¤È¤ÏÃÇÇ°¤µ¤ì¤¿¡£
-Linux ¤Ë¤ª¤¤¤Æ
+当然のことながら、夏時間がどの期間に実施されるかを
+国ごとの簡単なアルゴリズムで導くことができないことが判明した。
+実際、夏時間の期間は予測不可能な政治的決定で決まる。
+そのためこの方法でタイム・ゾーンを表すことは断念された。
+Linux において
.BR settimeofday ()
-¤ò¸Æ¤Ó½Ð¤¹¤È¤¤Ï¡¢
+を呼び出すときは、
.I tz_dsttime
-¥Õ¥£¡¼¥ë¥É¤ò 0 ¤Ë¤¹¤ë¤Ù¤¤Ç¤¢¤ë¡£
+フィールドを 0 にするべきである。
.PP
.\"O Under Linux there are some peculiar "warp clock" semantics associated
.\"O with the
.\"O is on local time, and that it has to be incremented by this amount
.\"O to get UTC system time.
.\"O No doubt it is a bad idea to use this feature.
-Linux ¤Ç¤Ï¡¢
+Linux では、
.BR settimeofday ()
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ë´ØÏ¢¤·¤Æ¡¢ÆÈÆäΡ֥¯¥í¥Ã¥¯¤Î¥º¥ì (warp clock)¡×¤¬Â¸ºß¤¹¤ë¡£
-¤³¤ì¤Ï (¥Ö¡¼¥È¸å¤Î) ºÇ½é¤Î¸Æ¤Ó½Ð¤·¤Ç
+システム・コールに関連して、独特の「クロックのズレ (warp clock)」が存在する。
+これは (ブート後の) 最初の呼び出しで
.I tz
-°ú¤¿ô¤¬ NULL ¤Ç¤Ê¤¯¡¢
+引き数が NULL でなく、
.I tv
-°ú¤¿ô¤¬ NULL ¤Ç
+引き数が NULL で
.I tz_minuteswest
-¥Õ¥£¡¼¥ë¥É¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ëµ¯¤³¤ë¡£
-¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢
+フィールドが 0 でない場合に起こる。
+このような場合、
.BR settimeofday ()
-¤Ï CMOS ¥¯¥í¥Ã¥¯¤¬ÃÏÊý»þ (local time) ¤Ç¤¢¤ê¡¢
-UTC ¥·¥¹¥Æ¥à»þ´Ö¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢
+は CMOS クロックが地方時 (local time) であり、
+UTC システム時間を得るためには、
.I tz_minuteswest
-¤Îʬ¤À¤±Áý²Ã¤µ¤»¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤È¤ß¤Ê¤·¤Æ¤·¤Þ¤¦¡£
-µ¿¤¤¤â¤Ê¤¯¡¢¤³¤Îµ¡¹½¤ò»È¤¦¤³¤È¤ÏÎɤ¤¹Í¤¨¤Ç¤Ï¤Ê¤¤¡£
+の分だけ増加させなくてはならないとみなしてしまう。
+疑いもなく、この機構を使うことは良い考えではない。
.PP
.\"O Macros for operating on
.\"O .I timeval
.\"O structures are described in
.\"O .BR timeradd (3).
.I timeval
-¹½Â¤ÂΤòÁàºî¤¹¤ë¤¿¤á¤Î¥Þ¥¯¥í¤ÎÀâÌÀ¤Ï
+構造体を操作するためのマクロの説明は
.BR timeradd (3)
-¤Ë¤¢¤ë¡£
+にある。
.\"O .SH "RETURN VALUE"
-.SH ÊÖ¤êÃÍ
+.SH 返り値
.\"O .BR gettimeofday ()
.\"O and
.\"O .BR settimeofday ()
.\"O .I errno
.\"O is set appropriately).
.BR gettimeofday ()
-¤È
+と
.BR settimeofday ()
-¤ÏÀ®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤·¡¢¼ºÇÔ¤·¤¿¾ì¹ç¤Ï \-1 ¤òÊÖ¤¹
-(¤³¤Î¾ì¹ç¤Ï
+は成功すると 0 を返し、失敗した場合は \-1 を返す
+(この場合は
.I errno
-¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë)¡£
+が適切に設定される)。
.\"O .SH ERRORS
-.SH ¥¨¥é¡¼
+.SH ã\82¨ã\83©ã\83¼
.TP
.B EFAULT
.\"O One of
.\"O .I tz
.\"O pointed outside the accessible address space.
.I tv
-¤«
+か
.I tz
-¤Î¤É¤Á¤é¤«¤¬¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
+のどちらかがアクセス可能なアドレス空間外を指している。
.TP
.B EINVAL
.\"O Timezone (or something else) is invalid.
-¥¿¥¤¥à¥¾¡¼¥ó (¤Þ¤¿¤Ï¾¤Î²¿¤«) ¤¬ÉÔÀµ¤Ç¤¢¤ë¡£
+タイムゾーン (または他の何か) が不正である。
.TP
.B EPERM
.\"O The calling process has insufficient privilege to call
.\"O under Linux the
.\"O .B CAP_SYS_TIME
.\"O capability is required.
-¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Ë
+呼び出し元プロセスに
.BR settimeofday ()
-¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î½½Ê¬¤ÊÆø¢¤¬¤Ê¤¤¡£
-Linux ¤Ç¤Ï
+を呼び出すための十分な特権がない。
+Linux では
.B CAP_SYS_TIME
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤¬É¬ÍפǤ¢¤ë¡£
+ケーパビリティ (capability) が必要である。
.\"O .SH "CONFORMING TO"
-.SH ½àµò
+.SH 準拠
.\"O SVr4, 4.3BSD.
.\"O POSIX.1-2001 describes
.\"O .BR gettimeofday ()
.\"O but not
.\"O .BR settimeofday ().
-SVr4, 4.3BSD ¤Ë½àµò¤¹¤ë¡£
-POSIX.1-2001 ¤Ï
+SVr4, 4.3BSD に準拠する。
+POSIX.1-2001 は
.BR gettimeofday ()
-¤Ë¤Ä¤¤¤Æ¤Ïµ½Ò¤·¤Æ¤¤¤ë¤¬¡¢
+については記述しているが、
.BR settimeofday ()
-¤Ë¤Ä¤¤¤Æ¤Ïµ½Ò¤·¤Æ¤¤¤Ê¤¤¡£
+については記述していない。
.\"O POSIX.1-2008 marks
.\"O .BR gettimeofday ()
.\"O as obsolete, recommending the use of
.\"O .BR clock_gettime (2)
.\"O instead.
-POSIX.1-2008 ¤Ç¤Ï
+POSIX.1-2008 では
.BR gettimeofday ()
-¤ÏÇÑ»ßͽÄê¤È¤µ¤ì¤Æ¤ª¤ê¡¢
-Âå¤ï¤ê¤Ë
+は廃止予定とされており、
+代わりに
.BR clock_gettime (2)
-¤Î»ÈÍѤ¬¿ä¾©¤µ¤ì¤Æ¤¤¤ë¡£
+の使用が推奨されている。
.\"O .SH NOTES
-.SH Ãí°Õ
+.SH 注意
.LP
.\"O Traditionally, the fields of
.\"O .I struct timeval
.\"O were of type
.\"O .IR long .
-ÀΤÏ
+昔は
.I struct timeval
-¤Î¥Õ¥£¡¼¥ë¥É¤Ï
+のフィールドは
.I long
-·¿¤Ç¤¢¤Ã¤¿¡£
+型であった。
.\"O .SH "SEE ALSO"
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
.BR date (1),
.BR adjtimex (2),
.BR time (2),