Apakah unix cap waktu berubah di seluruh zona waktu?

136

Seperti subjek bertanya; perubahan cap waktu UNIX di setiap zona waktu?

Misalnya, jika saya mengirim permintaan ke email lain, pihak lain di dunia mengatakan, "Kirim email ketika waktunya 1397484936" , apakah stempel waktu server lain akan berada 12 jam di belakang saya?

Ben Poulson
sumber
7
Tidak, ini adalah jumlah detik yang telah berlalu sejak titik waktu tertentu.
Niklas B.

Jawaban:

228

Definisi cap waktu UNIX adalah zona waktu independen. Stempel waktu adalah jumlah detik (atau milidetik) yang berlalu sejak titik waktu absolut, tengah malam 1 Januari 1970 dalam waktu UTC. (UTC adalah Greenwich Mean Time tanpa penyesuaian Daylight Savings time.) Terlepas dari zona waktu Anda, cap waktu mewakili momen yang sama di mana-mana. Tentu saja Anda dapat mengkonversi bolak-balik ke representasi zona waktu lokal (waktu 1397484936 adalah waktu lokal ini-dan-itu di New York, atau waktu lokal lainnya di Jakarta) jika Anda mau.

Artikel di http://en.wikipedia.org/wiki/Unix_time cukup mengesankan jika Anda ingin membaca lebih lama.

RobP
sumber
19
Dalam kehidupan saya yang lain, saya seorang instruktur penerbangan. Kami menggunakan UTC (juga dikenal sebagai "Zulu time") untuk waktu lepas landas dan mendarat, sehingga perbedaan antara waktu adalah pengukuran yang akurat dari panjang penerbangan, tanpa harus mempertimbangkan zona waktu di mana bandara awal dan akhir berada di Memang, saya telah mengambil penerbangan yang dimulai pada waktu musim panas dan berakhir setelahnya, atau sebaliknya!
RobP
19
Memberi +1 pada jawaban ini. Untuk menambahkan gagasan yang mungkin membantu memperjelas: cap waktu itu sendiri bukan UTC, cap waktu adalah sejumlah (mili) detik yang dilewati dari titik referensi waktu. Titik referensi untuk cap waktu Unix (zaman Unix) adalah titik yang UTC: 00:00:00 UTC 1970.01.01
Sandman
4
Membangun lebih jauh dari respon @Sandman, 1397484936 detik dari awal adalah hanya itu, 1397484936 detik. Tanpa masuk ke ilmu lain, 1397484936 detik telah berlalu pada titik itu di mana-mana di dunia. Ketika 1397484936 detik telah berlalu, mungkin pukul 4:16:16 di New York, 21:00/21:00 di London, yang merupakan zona
conrad10781
1
@RobP Thats tidak benar. UNIX bukan zona waktu independen, Anda mengatakannya sendiri in UTC time. Ada dua offset, a raw offsetdan DST offset. Misalnya America/New_Yorkoffset mentah adalah -18000, dan offset DST adalah 3600, maka dari cap waktu UNIX mana pun Anda harus melakukan matematika UNIX + offset + dstOffsetuntuk mendapatkan cap waktu New York.
Max
15

Waktu Unix didefinisikan sebagai jumlah detik yang telah berlalu sejak 00:00:00 Waktu Universal Terkoordinasi ( UTC ), Kamis, 1 Januari 1970. Jadi jawabannya adalah tidak

Harry
sumber
5

JIKA kedua komputer diatur dengan benar dengan jam mereka diatur untuk zona waktu dan nilai UTC yang benar, mereka harus mengembalikan nilai yang sama.
Tentu saja itu IF besar. Hampir pasti ada perbedaan setidaknya detik, lebih sering beberapa menit antara waktu yang dilaporkan oleh dua komputer. Dan banyak komputer diatur untuk memiliki pengaturan zona waktu yang salah, dan akan melaporkan waktu setempat mereka ketika diminta stempel waktu daripada UTC.

Dan di situlah letak perbedaan antara teori dan praktik. Secara teori semuanya sama, dalam praktiknya Anda tidak boleh mengandalkannya.

jwenting
sumber
3

Stempel waktu Unix tidak berubah sepanjang zona waktu , mereka dibuat untuk tujuan memiliki waktu standar di seluruh dunia.

CATATAN: - Stempel waktu dihitung berdasarkan waktu saat ini di komputer sehingga jangan mengandalkan mereka sampai dan kecuali Anda sangat yakin tentang pengaturan waktu di mesin yang berpartisipasi.

humble_wolf
sumber
3

Seseorang menyatakan bahwa "UTC adalah Waktu Greenwich Mean tanpa penyesuaian waktu Musim Panas." Ini tidak benar. GMT tidak memiliki Waktu Hemat Siang Hari. GMT diukur di Greenwich, Inggris (di Naval Obeservatory) [0 bujur, tetapi tidak 0 lattitude]. UTC diukur di garis khatulistiwa [0 bujur dan 0 lattitude - yang kebetulan terletak di laut lepas dari biaya Afrika].

Apa bedanya? Itu tidak membuat perbedaan dalam hal "jam berapa hari itu?" Namun, hal itu membuat perbedaan dalam hal perhitungan satu tahun. Sekarang Anda akan berpikir satu tahun akan diukur berdasarkan lokasi pusat (inti) bumi, bukan? Ketika inti bumi kembali ke lokasi yang sama ~ 365 hari yang lalu, ia telah setahun. Tidak diukur seperti itu. Ini diukur dengan lokasi spesifik di bumi yang kembali ke lokasi yang sama (relatif terhadap matahari) hingga ~ 365 hari yang lalu. Tetapi periode sehari dan setahun tidak membelah secara merata. Setelah bumi kembali ke tempat tahun lalu, bumi tidak menghadap ke arah yang sama seperti tahun lalu, sehingga tempat di bumi tidak menghadap ke arah yang sama setahun yang lalu. Menjadi lebih jauh ke utara, Greenwich tidak akan kembali ke tempat yang sama (relatif terhadap matahari) seperti tahun lalu pada saat yang sama dengan 0 Lat / 0 Long. Jadi, jika Anda mendasarkan definisi pada Greenwith vs 0/0, Anda mendapatkan, meskipun sedikit, jawaban yang berbeda untuk pertanyaan "berapa hari dalam setahun". Dengan kata lain, ketika suatu tempat tertentu di bumi kembali ke tempat itu setahun yang lalu (relatif terhadap Matahari), inti bumi tidak berada di tempat yang sama itu setahun yang lalu, jadi tempat apa Anda memilih sesuatu karena inti bumi akan berada di tempat yang berbeda (relatif terhadap matahari) daripada satu tahun yang lalu, jika Anda memilih tempat yang berbeda di bumi. walaupun sedikit, jawaban yang berbeda untuk pertanyaan "berapa hari dalam setahun". Dengan kata lain, ketika suatu tempat tertentu di bumi kembali ke tempat itu setahun yang lalu (relatif terhadap Matahari), inti bumi tidak berada di tempat yang sama itu setahun yang lalu, jadi tempat apa Anda memilih sesuatu karena inti bumi akan berada di tempat yang berbeda (relatif terhadap matahari) daripada satu tahun yang lalu, jika Anda memilih tempat yang berbeda di bumi. walaupun sedikit, jawaban yang berbeda untuk pertanyaan "berapa hari dalam setahun". Dengan kata lain, ketika suatu tempat tertentu di bumi kembali ke tempat itu setahun yang lalu (relatif terhadap Matahari), inti bumi tidak berada di tempat yang sama itu setahun yang lalu, jadi tempat apa Anda memilih sesuatu karena inti bumi akan berada di tempat yang berbeda (relatif terhadap matahari) daripada satu tahun yang lalu, jika Anda memilih tempat yang berbeda di bumi.

UTC maupun GMT tidak memiliki waktu musim panas. Waktu Eropa / London, zona waktu yang dihuni Greenwich, lakukan. Tetapi GMT tidak. GMT adalah, apa yang orang Amerika sebut "Waktu Standar" - yaitu tanpa DST.

Kembali ke pertanyaan, Epoch time secara teknis tidak memiliki zona waktu. Ini didasarkan pada titik waktu tertentu, yang kebetulan berbaris ke waktu UTC "bahkan" (pada awal tepat satu tahun dan satu dekade, dll.). Jika konsep itu tidak cocok di otak Anda, dan jika itu membantu untuk memikirkan waktu Epoch sebagai berada di UTC, langsung saja. Anda berada di perusahaan yang baik dan dalam skema besar hal, itu benar-benar tidak masalah. Anda pernah melihat gugatan hukum di mana somoene diberikan $ 1. Ini semacam "Anda benar, tetapi tidak terlalu penting" jenis putusan. Jika seseorang menggugat Anda karena mengatakan Waktu Epoch ada di zona waktu UTC, mereka akan memenangkan $ 1. Itu tidak akan membeli secangkir kopi di Starbucks mana pun di zona waktu mana pun di planet ini.

Damocles
sumber