$time_iso8601
变量 $time_iso8601 返回 ISO 8601 格式的当前时间。 — NGINX Core (HTTP)
$time_iso8601
NGINX Core (HTTP)
说明
变量 $time_iso8601 以符合 ISO 8601 标准的格式输出日期和时间。该时间戳通常格式为 'YYYY-MM-DDTHH:MM:SS+ZONE',例如对应 '2023-10-04T12:34:56+00:00'。该变量由 NGINX 在处理请求时填充,并在配置文件的各种上下文中可用。它利用服务器的本地时区设置,以确保显示的时间与服务器的当前时间设置一致。 它在日志记录目的或在 HTTP headers 的上下文中特别有用,因为无歧义的日期和时间表示可以帮助客户端解析、调试和进行数据分析。通常 NGINX 在每次处理请求时设置该变量,确保在请求生命周期内访问时是最新的。作为时间戳输出的一部分,它包含时区信息,因此适用于需要考虑时区差异的场景。 由于其标准格式,$time_iso8601 在需要精确时间戳的 RESTful API 响应和 web services 中很受青睐,因为它使客户端能够跨不同时区准确地解释接收到的数据。该变量可以按照 NGINX 中传统 date 命令格式的相同方式进行格式化,从而在各种安装环境中保持可用性。
配置示例
http {
log_format combined '$remote_addr - $remote_user [$time_iso8601] "$request" '
'$status $body_bytes_sent "$http_referer" "$http_user_agent"';
access_log /var/log/nginx/access.log combined;
}子系统
http可缓存
否上下文
http, server, location, if⚠
确保服务器的时区设置正确,因为这会影响 $time_iso8601 的输出。
⚠
$time_iso8601 在特定请求中被赋值后不会改变;在整个请求处理过程中保持不变。