nginx - nginx - 获取小时和工作日
问题描述
我需要将小时和工作日获取到要在配置文件中使用的变量中。
小时可以通过$time_iso8601
使用正则表达式映射获得,但它是矫枉过正的(就像我说的:基于正则表达式)。
工作日我找不到任何解决方案(甚至不是一个糟糕的解决方案)。
有没有更好的解决方案来在 nginx 中实现这些?
解决方案
我不会称其为矫枉过正,尤其是如果您有启用PCRE JIT的 nginx 构建(需要系统 PCRE 库的支持)。要获得工作日(以及一个小时),您可以将$date_gmt
/中的$date_local
变量与块ngx_http_ssi_module
结合使用。map
我没有找到使用自定义strftime()
格式返回时间字符串的方法,似乎仅在后处理响应正文块中timefmt
使用的 SSI 命令中支持提到的参数。<!-- ... -->
您应该知道,//// 格式修饰符的结果可能strftime()
取决于某些系统/nginx 构建的语言%a
环境。你也可以检查这个%A
%b
%B
%c
SO线程,取决于您将如何使用这些值,它也可能对您有用。
我怀疑 vanilla nginx 是否有更好的解决方案,但如果您不仅限于内置模块,那么还有一个set-misc-nginx-module
具有set_formatted_gmt_time
/set_formatted_local_time
指令的位置,您可以在其中指定确切的strftime()
格式(%u
/ %w
/ %H
)。这个模块也是OpenResty包的一部分。
推荐阅读
- typescript - 获取自身的反向虚拟属性。适用于express,但不适用于nest.js
- c# - ASP.NET Core Web API - 获取文件以及 [FromBody] JSON 模型
- row-number - ROW_NUMBER 奇怪的行为结合联合
- node.js - 环回 4 @hasOne 关系
- javascript - 当我传递实际 URL 时,Img src 标记正在工作,但是当我传递 URL 的常量 instesd 时,它不起作用
- spring-boot - 如何从多个表中获取数据并放入自定义对象?弹簧靴?
- clojure - 使用 clojure 从 api 获取数据并记录结果
- python - Python程序通过防火墙windows
- r - 如何在彼此下方的 ggplot 中将同一行的两个不同点一起添加但仍处于相同的 y 标签?
- php - Twig 'for each' 搜索结果 - 我的代码控制所有搜索结果,而它应该为每个结果运行