Neden ki
1 Ocak 1970 00:00:00
Dönemini düşündünüz mü?
Neden ki
1 Ocak 1970 00:00:00
Dönemini düşündünüz mü?
Yanıtlar:
Unix'in ilk sürümleri sistem süresini 1/60 s aralıklarla ölçtü. Bu, 32 bit işaretsiz bir tam sayının yalnızca 829 günden daha kısa bir süreyi temsil edebileceği anlamına geliyordu. Bu nedenle, 0
( çağ olarak adlandırılan ) sayının temsil ettiği zamanın yakın geçmişte ayarlanması gerekiyordu. Bu 1970'lerin başında olduğu gibi, çağ 1971-1-1 olarak belirlendi.
Daha sonra, sistem süresi her saniye artmaya değiştirildi ve bu da 32 bit işaretsiz tam sayı ile temsil edilebilecek süreyi 136 yıla çıkardı. Tezgahın her saniyesini sıkmak artık çok önemli olmadığından, çağ en yakın on yıla yuvarlanarak 1970-1-1 oldu. Bunun 1971-1-1'den biraz daha temiz olduğu düşünülmelidir.
32 bit olduğunu Not imzalı için tarihleri kadar temsil edebilir kendi çağının olarak 1970-1-1 kullanarak tamsayı 2038-1-19 , hangi tarih üzerinde bu 1901-12-13 etrafında kaydırılır.
Tarih .
Unix zamanının en eski versiyonlarında, erken Unix sistemlerinin donanımındaki sistem saatinin oranı olan 60 Hz hızında 32 bit tam sayı arttı. Sonuç olarak bazı yazılım arayüzlerinde 60 Hz değeri görünmeye devam eder. Dönem ayrıca mevcut değerden farklıydı. 3 Kasım 1971 tarihli ilk baskı Unix Programcı El Kitabı, Unix süresini "saniyenin altmışıncı saniyesinde ölçülen 00:00:00, 1 Ocak 1971'den beri geçen zaman" olarak tanımlar.
http://en.wikipedia.org/wiki/Unix_time#History , Unix zamanının kökenleri ve seçilen dönem hakkında biraz açıklıyor. Unix zamanının tanımı ve çağ tarihi, şu an ne olduğuna karar vermeden önce birkaç değişiklik geçirdi.
Ancak sonunda 1/1/1970'in tam olarak neden seçildiğini söylemiyor.
Wikipedia sayfasından dikkat çekici alıntılar:
İlk baskısı "00:00:00 beri süre, 1 Ocak olarak Unix Programcı Kılavuzu 3 Kasım tarihli 1971 tanımlar Unix zaman 1971 saniyenin sixtieths ölçülen,".
Sınırlı aralık nedeniyle , hız 1 Hz olarak değiştirilmeden ve çağın mevcut değerine ayarlanmasından önce , dönem bir kereden fazla yeniden tanımlandı .
Mevcut tanımın karmaşıklığı da dahil olmak üzere daha sonraki bazı problemler, Unix süresinin başlangıç olarak tamamen tanımlanmak yerine kullanımla kademeli olarak tanımlanmasından kaynaklanmaktadır.
Bir çağ referans tarihi , zaman çizelgesinde zamanı saydığımız bir noktadır. Bu noktadan önceki anlar negatif sayıyla, sonraki anlar pozitif sayıyla sayılır.
1 Ocak 1970 00:00:00 neden çağ zamanı olarak değerlendiriliyor?
Hayır, çağ, bir dönem. Kullanımda birçok dönem var .
Bu çağ seçimi keyfidir .
Büyük bilgisayar sistemleri ve kütüphaneleri en az birkaç düzine çeşitli dönemin herhangi birini kullanır . En popüler dönemlerden biri , bahsettiğiniz 1970 UTC anını kullanarak genellikle Unix Saati olarak bilinir .
Popüler olsa da, Unix Time'ın 1970'i en yaygın olmayabilir . Ayrıca en yaygın koşu sayısız Microsoft Excel ve Lotus 1-2-3 elektronik tablo için 0 Ocak 1900 veya Apple'ın Kakao çerçevesi tarafından dünya çapında sayısız uygulamada bir milyardan fazla iOS / macOS makinesinde kullanılan 1 Ocak 2001 olacaktır. Ya da 6 Ocak 1980 GPS cihazları tarafından kullanılıyor olabilir mi?
Farklı sistemler sayım süresinde farklı ayrıntı düzeyi kullanır.
“Unix Zamanı” denen şey bile değişir, bazı sistemler tam saniyeyi ve bazıları milisaniyeyi sayar . Postgres gibi birçok veritabanı mikrosaniye kullanır . Java 8 ve sonraki sürümlerdeki modern java.time çerçevesi gibi bazıları nanosaniye kullanır . Bazıları hala diğer ayrıntı düzeylerini kullanır.
Bir çağ referansının ve taneciklerin kullanımında çok fazla farklılık olduğu için, anları çağdan itibaren saymak olarak iletmekten kaçınmak genellikle en iyisidir. Çağ ve tanecikliğin belirsizliği ile insanların anlamlı değerleri algılayamamaları (ve dolayısıyla buggy değerlerini kaçırmamak) arasında sayılar yerine düz metin kullanın.
ISO 8601 standardı metin olarak tarih-zaman değerlerini ifade etmek için pratik iyi tasarlanmış biçimlerinin geniş bir kümesi sağlar. Bu formatların makine tarafından ayrıştırılması ve aynı zamanda kültürler arasında insanlar tarafından okunması kolaydır.
Bunlar:
2019-01-23
2019-01-23T12:34:56.123456Z
2019-01-23T18:04:56.123456+05:30
2019-234
Kısa cevap: Neden olmasın?
Daha uzun cevap: Onu kullanan herkesin değerini kabul ettiği sürece, zamanın kendisi gerçekten önemli değildir. 1/1/70 uzun süredir kullanımda olduğu için, kullanmak mümkün olduğunca çok kişi için mümkün olduğunca anlaşılır bir kodlama sağlayacaktır.
Sadece farklı olmak için keyfi bir dönem seçmenin büyük bir değeri yoktur.