lệnh ngày - tùy chọn -iso-8601


70

Đây câu trả lời và ý kiến đề cập đến --rfc-3339và một "ẩn" --iso-8601tùy chọn mà tôi đã sử dụng trong một thời gian dài và bây giờ dường như không có giấy tờ.

Khi nào tài liệu tùy chọn đó được gỡ bỏ khỏi --helpvăn bản?

Liệu lựa chọn sẽ biến mất bất cứ lúc nào sớm?


1
Để có được tính năng này trên OSX, cuối cùng tôi đã có các công cụ GNU: $ brew install coreutils; gdate --iso-8601 -d "ngày hôm qua 12:00"
AnneTheAgile

3
@AnneTheAgile cho macOS, bạn có thể định dạng thủ công ngày như vậy: "ngày +% Y-% m-% dT% H:% M:% S% z"
Bart Doe

Câu trả lời:


60

Tùy chọn đã được giới thiệu trong coreutils date(có lẽ là những gì bạn có) vào năm 1999 (8 tháng 4).

Các tài liệu đã được gỡ bỏ vào năm 2005 mà không có nhiều lời giải thích trong cam kết.

Năm 2011 , sự giúp đỡ cho --iso-8601 đã được giới thiệu lại với lời giải thích sau:

We deprecated and undocumented the --iso-8601 (-I) option mostly
because date could not parse that particular format.  Now that
it can, it's time to restore the documentation.
* src/date.c (usage): Document it.
* doc/coreutils.texi (Options for date): Reinstate documentation.
Reported by Hubert Depesz Lubaczewski in http://bugs.gnu.org/7444.

Có vẻ như sự giúp đỡ đã được đưa ra trong phiên bản 5.90 và đưa trở lại, trong phiên bản 8.15 (nó không nằm trong bản 8.13 của tôi) và nhận xét ở trên cho thấy rằng nó đã quay trở lại và không có khả năng biến mất sớm.


33

- Trợ giúp đã nhận được một bản cập nhật gần đây, vì vậy tùy chọn này chắc chắn sẽ không biến mất:

-I[FMT], --iso-8601[=FMT]  output date/time in ISO 8601 format.
                             FMT='date' for date only (the default),
                             'hours', 'minutes', 'seconds', or 'ns'
                             for date and time to the indicated precision.
                             Example: 2006-08-14T02:34:56-06:00

     -R, --rfc-2822        output date and time in RFC 2822 format.
                             Example: Mon, 14 Aug 2006 02:34:56 -0600

         --rfc-3339=FMT    output date/time in RFC 3339 format.
                             FMT='date', 'seconds', or 'ns'
                             for date and time to the indicated precision.
                             Example: 2006-08-14 02:34:56-06:00

Lưu ý vì coreutils-8.27 --rfc-2822không được dùng để ủng hộ tổng quát hơn--rfc-email

     -R, --rfc-email       output date and time in RFC 5322 format.
                             Example: Mon, 14 Aug 2006 02:34:56 -0600

Sẽ thật tuyệt nếu có một -Iphong cách không có múi giờ. Sẽ hữu ích hơn cho việc đăng nhập, v.v., trong đó múi giờ không thành vấn đề
vào

14

Tôi đang chạy Linux Mint và tùy chọn có sẵn:

$ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description:    Linux Mint 17.3 Rosa
Release:    17.3
Codename:   rosa

Việc thực hiện lệnh:

$echo $(date --iso-8601=seconds)
2016-12-14T09:53:25-0400
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.