February 14, 2012

misc: เวลาในระบบคอมพิวเตอร์

เมื่อพูดถึงเวลาในคอมพิวเตอร์นั้น เวลา Unix มักถูกอ้างอิงใช้เป็นมาตรฐานมากที่สุด มันคือเวลาเป็นวินาทีนับจากเที่ยงคืนของวันที่ 1 มกราคม 1970 ตามเวลาสากล UTC มาจนถึงปัจจุบัน

สำหรับระบบที่ implement มันแบบ 32 บิท อาจพบปัญหาได้ในปี 2038 เนื่องจากเลขที่ใช้ overflow ครับ



แม้ว่าจะเราจะสามารถเรียกเวลา Unix มาดูได้ แต่มันคงไร้ประโยชน์ถ้าไม่สามารถเปลี่ยนให้อยู่ในรูปแบบที่สื่อสารกับคนทั่วไปได้รู้เรื่อง

รูปแบบข้างล่างนี้ถือเป็นมาตรฐานการเขียนแทนเวลาของระบบ Unix ที่สามารถเรียกใช้ได้จากโปรแกรมต่างๆ ครับ

รูปแบบตัวเลข0 นำหน้าชื่อเต็มชื่อย่อ
วันของสัปดาห์%u%a%A
วันของเดือน%e%d
วันของปี%j
สัปดาห์%V
เดือน%m%b%B
ปี%y%Y
เขตเวลา%z%Z
12 ชั่วโมง%l%I%p
24 ชั่วโมง%k%H
นาที%M
วินาที%S

นอกจากนี้ ยังมีรูปแบบที่ใช้บ่อยๆ ที่ถูกเก็บเป็นตัวย่อไว้ให้เรียกใช้ ดังนี้

%s = เวลา Unix
%D = %m/%d/%y
%F = %Y-%m-%d
%r = %I:%M:%S %p
%R = %H:%M
%T = %H:%M:%S
%c = %a %b %d %H:%M:%S %Y

สำหรับค่าเริ่มต้นเมื่อไม่ได้กำหนดรูปแบบเป็นพิเศษ จะได้รูปแบบเป็น %c เช่น Tue Feb 14 16:03:42 2012 ครับ

อย่างไรก็ตาม โปรแกรมต่างๆ อาจมีวิธีเรียกใช้ค่าเหล่านี้แตกต่างกันไปบ้าง อย่าลืมเช็คกับเอกสารประจำโปรแกรมนั้นๆ ด้วยนะครับ

ปล. ไหนๆ วันนี้ก็วันแห่งความรักทั้งที รู้จักเวลา Unix ไปแล้ว ก็อย่าลืมแบ่งเวลาไปใส่ใจเธอด้วยนะครับ :P

No comments:

Post a Comment