ฉันพยายามใช้คำสั่ง date เพื่อสร้างการประทับเวลาของไฟล์ที่คำสั่ง date สามารถตีความได้ อย่างไรก็ตามคำสั่ง date ดูเหมือนจะไม่ชอบผลลัพธ์ของตัวเองและฉันไม่แน่ใจว่าจะแก้ไขได้อย่างไร กรณีในจุด:
sh-4.2$ date
Fri Jan 3 14:22:19 PST 2014
sh-4.2$ date +%Y%m%dT%H%M
20140103T1422
sh-4.2$ date -d "20140103T1422"
Thu Jan 2 23:22:00 PST 2014
วันที่ดูเหมือนจะตีความสตริงด้วยการชดเชย 15 ชั่วโมง มีวิธีแก้ปัญหาที่รู้จักสำหรับเรื่องนี้หรือไม่?
แก้ไข: นี่ไม่ใช่ปัญหาของการแสดงผล:
sh-4.2$ date +%s
1388791096
sh-4.2$ date +%Y%m%dT%H%M
20140103T1518
sh-4.2$ date -d 20140103T1518 +%s
1388737080
sh-4.2$ python
Python 3.3.3 (default, Nov 26 2013, 13:33:18)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 1388737080 - 1388791096
-54016
>>> 54016/3600
15.004444444444445
>>>
มันยังคงปิดอยู่ 15 ชั่วโมงเมื่อแสดงเป็น unix timestamp
แก้ไข # 1
บางทีฉันควรตั้งคำถามนี้ให้แตกต่างออกไปเล็กน้อย ว่าฉันมีรายการของการประทับเวลาพื้นฐาน ISO8601 ของแบบฟอร์ม:
- YYYYMMDDThhmm
- YYYYMMDDThhmmss
วิธีที่ง่ายที่สุดในการแปลงเป็นเวลา Unix ที่สอดคล้องกันคืออะไร?
ตัวอย่างเช่น:
- 20140103T1422 = 1388787720
- 20140103T142233 = 1388787753
20140103T1518
ไม่ถูกต้อง ISO 8601 มันพลาดส่วนของโซนเวลา