如何使用 linux 中的日期命令以 yyyy-MM-ddTHH:mm:ssZ 格式打印时间格式

how to print time format in yyyy-MM-ddTHH:mm:ssZ using date command in linux

我需要这种格式的时间 'yyyy-MM-ddTHH:mm:ssZ'(例如 1985-04-12T23:20:50.52Z),使用 Linux 中的日期命令。你能帮我解决这个问题吗?

世界协调时间 (UTC)(a/k/a 祖鲁时间)与 百分之一 秒的精确再现需要制作自定义日期字符串并调用 date -u.

注意:要解决 Toby Speight 在评论中的正确断言,即 dn 持有的日期表示之间可能存在 1 秒的差异由于使用单独的 date 调用的原始答案,您可以通过对 date 的单个调用来减轻担忧(再次感谢 Toby 提醒我我们可以使用 printf field-width 修饰符截断纳秒字段),例如

date -u +'%FT%T.%2NZ'

示例结果

$ date -u +'%FT%T.%2NZ'
2018-04-14T17:45:28.20Z

这将避免由于两次 date 调用而导致的 1 秒电位差。