Làm cách nào để chuyển đổi chuỗi ngày thành múi giờ hiện tại trên dòng lệnh?


11

Làm cách nào tôi có thể chuyển đổi chuỗi ngày / giờ, ví dụ 2011-11-13 08:11:02 +0000, sang múi giờ địa phương của tôi trên dòng lệnh?


Đừng ngần ngại thêm các câu trả lời khác nhau, nhưng hãy nhớ rằng OS X có BSD datechứ không phải GNU date. Các tùy chọn khá khác nhau.
Daniel Beck

Câu trả lời:


17

Sử dụng date -jf "<input format>" "<input value>" +"<output format>".

Sau đây chuyển đổi ngày UTC thành múi giờ địa phương của tôi (CET):

$ date -jf "%Y-%m-%d %H:%M:%S %z" "2011-11-13 08:11:02 +0000" +"%Y_%m_%d__%H_%M_%S"
2011_11_13__09_11_02

Nếu bạn chỉ định định dạng ngày giống nhau cho cả đầu vào và đầu ra, bạn sẽ chỉ chuyển đổi thời gian sang múi giờ địa phương. Nhưng, như trong ví dụ, bạn có thể kết hợp điều đó với một chuyển đổi định dạng.


2
Múi giờ mục tiêu có thể được thay đổi bằng cách cài đặt tạm thời $TZ: TZ=EST date -jf %H%z 23+0100 +%I%p05PM
Lri
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.