UNIX thời gian
こ の ký sự はKiểm chứng khả năngなTham khảo văn hiến や xuất xứが toàn く kỳ されていないか, không thập phần です.(2020 năm 1 nguyệt) |
UNIX thời gian( ユニックスじかん ) またはUNIX thời khắc( ユニックスじこく,UNIX time( ユニックスタイム ),POSIXtime( ポジックスタイム ) ) とはコンピューターシステムThượng で のThời khắcBiểu hiện の một loại.Hiệp định thế giới khi(UTC) で の1970 năm1 nguyệt 1 ngàySáng 0 khi 0 phân 0 giây (UNIXエポック) から hình thức な kinh quá giây số として biểu される.
Thật の kinh quá giây số ではなく[1],そ の gian に挿 nhập されたNhuận giâyを dẫn き, trừ bỏ されたNhuận giâyを thêm えた trị である. Đại đa số の システムで chọn dùng されている[Chú 2].
UNIX hệのオペレーティングシステム( データ hình はtime_t) だけでなく, hắn の nhiều く の オペレーティングシステムにおいてもこ の biểu hiện phương pháp が dùng いられている. システム bên trong では64ビットKý hiệu phó số nguyên( signed int ) や64ビットLần độ chặt chẽ di động số lẻ sốで tráp われていることが nhiều い. ここで, trước kia は nhiều かった32ビット số nguyên で tráp われていた trường hợp で, ký hiệu phó きであった trường hợp, そ の lớn nhất trị 2,147,483,647 を siêu えると phụ の trị になり, chính しく thời khắc を tráp えなくなるという vấn đề がある. これを2038 năm vấn đềという.
Hiệp định thế giới khi (UTC) と の quan hệ
[Biên tập]UNIX thời khắc はシステム sống nhờ vào nhau だが, đại đa số の システムでは,Hiệp định thế giới khi(UTC) の thời khắc に cơ づき, 1970 năm 1 nguyệt 1 ngày sáng 0 khi 0 phân 0 giây ( UNIXエポック ) から の kinh quá giây số を,Nhuận giâyの tồn tại を làm lơ し hình thức な kém を tính toán した trị に chờ しい. したがって chính の nhuận giây 1 giây が挿 nhập された thời khắc を hiệp んだ2 giây gian において, UNIX thời khắc の trị は1 giây しか trị が tiến まない. システムによっては, trước sau の ある trình độ の thời gian に phân tán させてズレを hút thâu するも の もある. また nhuận giây の trước sau で の, giây より tế かい thời khắc の tráp いについては, システムにより dị なることがある ( đặc に, nhuận giây によって thời khắc が1 giây quyển き lệ ったか の ように thấy える trường hợp もあり đến る の で chú ý が tất yếu ).
Hiệp định thế giới khi(UTC) | UNIXエポックから の Thật の kinh quá giây số[Chú 3] |
UNIX thời khắc |
---|---|---|
1998-12-31T23:59:59 | 915148820 | 915148799 |
1998-12-31T23:59:60 | 915148821 | 915148800 |
1999-01-01T00:00:00 | 915148822 | 915148800 |
1999-01-01T00:00:01 | 915148823 | 915148801 |
Biểu hiện できる ngày phó の phạm 囲
[Biên tập]UNIXエポックから の kinh qua thời gian を biểu hiện する tế の 単 vị として, giây bên ngoài にも, dạng 々な単 vị を sử うことができ, giây とナノ giây が lợi dụng されることが nhiều めであるが, lúc ban đầu のJavaやJavaScriptはミリ giây を chọn dùng していた ( java.lang.System.currentTimeMillis()[2]など ). Biểu hiện するため の số trị として64ビット ký hiệu phó き số nguyên が sử われることが nhiều いが, 64ビットLần độ chặt chẽ di động số lẻ sốが sử われることもある (Pythonの time.time()[3]など ). かつては単 vị を giây として32ビット ký hiệu phó き số nguyên が sử われたこともあったがこれは2038 năm までしか biểu hiện できない.
Trị の hình | Thời gian 単 vị | Ngày phó の hạn cuối | Ngày phó の hạn mức cao nhất |
---|---|---|---|
int32 | Giây | 1901 năm 12 nguyệt 13 ngày 20 khi 45 phân 52 giây | 2038 năm 1 nguyệt 19 ngày 3 khi 14 phân 7 giây |
int64 | Giây | 2.9e11 BC | 2.9e11 AD[4] |
ミリ giây | 2.9e8 BC | 2.9e8 AD[4] | |
マイクロ giây | 290301 BC | 294241 AD[4] | |
ナノ giây | 1677 năm 9 nguyệt 21 ngày 00:12:43.145224192 | 2262 năm 4 nguyệt 11 ngày 23:47:16.854775807[5] |
UNIX thời khắc の tỏ vẻ lệ
[Biên tập]UNIX thời gian | Hiệp định thế giới khi(UTC) | Nhật Bản giờ chuẩn(JST) |
---|---|---|
0 | 1970-01-01T00:00:00 | 1970-01-01T09:00:00 |
100000000 | 1973-03-03T09:46:40 | 1973-03-03T18:46:40 |
1000000000 | 2001-09-09T01:46:40 | 2001-09-09T10:46:40 |
1234567890 | 2009-02-13T23:31:30 | 2009-02-14T08:31:30 |
2147483647 | 2038-01-19T03:14:07 | 2038-01-19T12:14:07 |
プログラミング ngôn ngữ やシェルから の lợi dụng lệ
[Biên tập]UNIX/LinuxのシェルThượng で, UNIX thời gian をUTCに変 đổi する lệ
date -u -d '@1234567890'
*BSDの シェル thượng で, UNIX thời gian をUTCに変 đổi する lệ
date -jr '1234567890'
UNIX/Linux の シェル thượng で, UNIX thời gian をローカル thời khắc に変 đổi する lệ
date -d '@1234567890'
*BSD の シェル thượng で, UNIX thời gian をローカル thời khắc に変 đổi する lệ
date -j '+%s'
Webブラウザのアドレスバー( URL lan ) にJavaScriptを nhập lực することで tỏ vẻ させる lệ (Firefox6.0 lấy hàng ではスクラッチパッド[Chú 4])
javascript:window.alert(Math.floor((new Date()).getTime()/1000))
C ngôn ngữで hiện tại の UNIX thời khắc を tỏ vẻ するプログラム
#include<stdio.h>
#include<time.h>
intmain(void)
{
time_tnow;
now=time(NULL);
printf("%lld",(longlong)now);
return0;
}
Chú thích
[Biên tập]Chú 釈
[Biên tập]- ^こ の ページが cuối cùng に sinh thành されたUNIX thời gian
- ^システム ( lệ えばLinuxシステム chờ のGNU Cライブラリ(glibc) ) は,tz databaseを dùng いて thật の kinh quá giây số に cơ づく thời khắc の phương thức に thiết り thế え khả năng である. そ の trường hợp は mới nhất の nhuận giây tình báo を lấy được しシステムに phản ánh させる tác nghiệp が tất yếu となる.
- ^Hiệp định thế giới khi(UTC) がQuốc tế nguyên tử khi(TAI) と cùng じSIGiây を chọn dùng した の は1972-01-01T00:00:00Z lấy hàng であり, それ trước kia の hiệp định thế giới khi の 1 giây はSIGiây とは dị なる.
- ^Internet Explorer9 lấy hàng,Google Chrome13 lấy hàng など のアドレスバーでコピーペーストした trường hợp は lúc đầu に “javascript:” を thêm vào してください.
Xuất xứ
[Biên tập]- ^これに đối し lệ えばGPS thời khắcは thật の kinh quá giây số を biểu hiện する.
- ^currentTimeMillis - System (Java SE 17 & JDK 17)
- ^time.time --- thời khắc データへ の アクセスと変 đổi — Pythonドキュメント
- ^abcDatetime Units - Datetimes and Timedeltas — NumPy Manual
- ^Time series / date functionality — pandas documentation
Quan liền hạng mục
[Biên tập]- time_t
- 2001 năm 9 nguyệt 9 ngày vấn đề
- 2038 năm vấn đề
- ユリウス thông ngày- ユリウス lịch kỷ nguyên trước 4713 năm 1 nguyệt 1 ngày の chính ngọ ( thế giới khi ) から の ngày số. Thiên văn học で sử われる.
- Thời khắc #コンピュータ の khi pháp