当前位置: 首页 > news >正文

ngx_time_init

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_time_init 函数_源码安装nginx 1.24-CSDN博客 

 定义在 src\core\ngx_times.c

void
ngx_time_init(void)
{
    ngx_cached_err_log_time.len = sizeof("1970/09/28 12:00:00") - 1;
    ngx_cached_http_time.len = sizeof("Mon, 28 Sep 1970 06:00:00 GMT") - 1;
    ngx_cached_http_log_time.len = sizeof("28/Sep/1970:12:00:00 +0600") - 1;
    ngx_cached_http_log_iso8601.len = sizeof("1970-09-28T12:00:00+06:00") - 1;
    ngx_cached_syslog_time.len = sizeof("Sep 28 12:00:00") - 1;

    ngx_cached_time = &cached_time[0];

    ngx_time_update();
}

    ngx_cached_err_log_time.len = sizeof("1970/09/28 12:00:00") - 1;

设置 ngx_cached_err_log_time.len 的值为字符串 "1970/09/28 12:00:00" 的长度(不包括空字符 \0

ngx_cached_err_log_time 用来存储错误日志相关的时间格式


    ngx_cached_http_time.len = sizeof("Mon, 28 Sep 1970 06:00:00 GMT") - 1;

设置HTTP协议使用的日期格式长度

格式遵循 RFC 1123 标准


    ngx_cached_http_log_time.len = sizeof("28/Sep/1970:12:00:00 +0600") - 1;

设置 HTTP 访问日志时间格式的长度

为 HTTP 日志模块提供一个标准化的时间格式长度

这种格式常用于 HTTP 日志中记录时间,包括日期、时间和时区信息


    ngx_cached_http_log_iso8601.len = sizeof("1970-09-28T12:00:00+06:00") - 1;

设置 ISO 8601 时间格式的长度


    ngx_cached_syslog_time.len = sizeof("Sep 28 12:00:00") - 1;

设置系统日志时间格式的长度


    ngx_cached_time = &cached_time[0];

初始化全局时间缓存指针

将全局变量 ngx_cached_time 指向数组 cached_time 的第一个元素 

cached_time 是一个全局数组,用于存储时间的缓存数据

此时

ngx_cached_time->sec=0

cached_time 还未设置


ngx_time_update();

调用 ngx_time_update 函数,首次生成所有时间格式的字符串

ngx_time_update() 会获取当前时间,将其格式化为上述各种时间字符串,并填充到对应的缓存结构中

ngx_time_update-CSDN博客


http://www.dtcms.com/a/109994.html

相关文章:

  • EIR管理中IMEI和IMSI信息的作用
  • 【AI赋能:58招聘数据的深度剖析之旅】
  • NHANES指标推荐:BRI
  • 基于大模型的主动脉瓣病变预测及治疗方案研究报告
  • 《系统分析师-基础篇-1-6章总结》
  • 非对称加密:原理、算法与应用全解析
  • 工具介绍 | SafeLLMDeploy教程来了 保护本地LLM安全部署
  • 2025高频面试设计模型总结篇
  • 采用离散频率索引k和模拟频率f生成信号(MATLAB)
  • Spring Boot 集成 Redis中@Cacheable 和 @CachePut 的详细对比,涵盖功能、执行流程、适用场景、参数配置及代码示例
  • [C语言入门] 结构体
  • RNN万能逼近定理证明
  • 《2024年全球DDoS攻击态势分析》
  • 2025年内外网文件交换系统排名分析
  • 【3.软件工程】3.5 V开发模型
  • 深度学习与神经网络 | 邱锡鹏 | 第二章学习笔记
  • 微服务。1 微服务
  • Java学习总结-IO流
  • 如何免费制作办事指南二维码
  • 如何进行风电场微观选址
  • 如何在Windows上找到Python安装路径?两种方法快速定位
  • 深度学习deeplearn3
  • 基于飞桨框架3.0本地DeepSeek-R1蒸馏版部署实战
  • 质检LIMS系统在环境监测站的应用 环境监测场景下的LIMS系统应用
  • thinkphp每条一级栏目中可自定义添加多条二级栏目,每条二级栏目包含多个字段信息
  • 连接与效率的艺术:解码ToB 移动端协同产品的用户体验设计奥秘
  • PyTorch优化器
  • K8S学习之基础七十三:Istio简介和部署
  • 牛客 简写单词
  • NO.62十六届蓝桥杯备战|基础算法-二分查找|查找元素的第一个和最后一个位置|牛可乐和魔法封印|A-B数对|烦恼的高考意愿(C++)