求助一代码,功能是将传递的时间戳转为特定格式的时间显示
时间:2010-09-08
来源:互联网
本帖最后由 ixqbar 于 2010-09-08 12:37 编辑
不知道如何将char转换为time_t类型
需求是如何将传递的时间戳转换为特定格式(Year-month-day Hour:mi:s)显示
比如: ./showtime 1283917950 运行后显示为 2010-09-08 11:52:30
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <time.h>
int main(int argc,char *argv) {
time_t newtime;
time(&newtime); //想实现的是newtime是我传递的参数
char szBuff[30];
strftime(szBuff, sizeof(szBuff), "%Y:%m:%d %X", localtime(&newtime));
printf("%s\n",szBuff);
}
求高手帮忙
不知道如何将char转换为time_t类型
需求是如何将传递的时间戳转换为特定格式(Year-month-day Hour:mi:s)显示
比如: ./showtime 1283917950 运行后显示为 2010-09-08 11:52:30
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <time.h>
int main(int argc,char *argv) {
time_t newtime;
time(&newtime); //想实现的是newtime是我传递的参数
char szBuff[30];
strftime(szBuff, sizeof(szBuff), "%Y:%m:%d %X", localtime(&newtime));
printf("%s\n",szBuff);
}
求高手帮忙
作者: ixqbar 发布时间: 2010-09-08
- void
- ngx_gmtime(time_t t, ngx_tm_t *tp)
- {
- ngx_int_t yday;
- ngx_uint_t n, sec, min, hour, mday, mon, year, wday, days, leap;
-
- /* the calculation is valid for positive time_t only */
-
- n = (ngx_uint_t) t;
-
- days = n / 86400;
-
- /* Jaunary 1, 1970 was Thursday */
-
- wday = (4 + days) % 7;
-
- n %= 86400;
- hour = n / 3600;
- n %= 3600;
- min = n / 60;
- sec = n % 60;
-
- /*
- * the algorithm based on Gauss' formula,
- * see src/http/ngx_http_parse_time.c
- */
-
- /* days since March 1, 1 BC */
- days = days - (31 + 28) + 719527;
-
- /*
- * The "days" should be adjusted to 1 only, however, some March 1st's go
- * to previous year, so we adjust them to 2. This causes also shift of the
- * last Feburary days to next year, but we catch the case when "yday"
- * becomes negative.
- */
-
- year = (days + 2) * 400 / (365 * 400 + 100 - 4 + 1);
-
- yday = days - (365 * year + year / 4 - year / 100 + year / 400);
-
- if (yday < 0) {
- leap = (year % 4 == 0) && (year % 100 || (year % 400 == 0));
- yday = 365 + leap + yday;
- year--;
- }
-
- /*
- * The empirical formula that maps "yday" to month.
- * There are at least 10 variants, some of them are:
- * mon = (yday + 31) * 15 / 459
- * mon = (yday + 31) * 17 / 520
- * mon = (yday + 31) * 20 / 612
- */
-
- mon = (yday + 31) * 10 / 306;
-
- /* the Gauss' formula that evaluates days before the month */
-
- mday = yday - (367 * mon / 12 - 30) + 1;
-
- if (yday >= 306) {
-
- year++;
- mon -= 10;
-
- /*
- * there is no "yday" in Win32 SYSTEMTIME
- *
- * yday -= 306;
- */
-
- } else {
-
- mon += 2;
-
- /*
- * there is no "yday" in Win32 SYSTEMTIME
- *
- * yday += 31 + 28 + leap;
- */
- }
-
- tp->ngx_tm_sec = (ngx_tm_sec_t) sec;
- tp->ngx_tm_min = (ngx_tm_min_t) min;
- tp->ngx_tm_hour = (ngx_tm_hour_t) hour;
- tp->ngx_tm_mday = (ngx_tm_mday_t) mday;
- tp->ngx_tm_mon = (ngx_tm_mon_t) mon;
- tp->ngx_tm_year = (ngx_tm_year_t) year;
- tp->ngx_tm_wday = (ngx_tm_wday_t) wday;
- }
作者: lenky0401 发布时间: 2010-09-08
作者: lenky0401 发布时间: 2010-09-08
先看看
作者: ixqbar 发布时间: 2010-09-08
QUOTE:
请从下载到nginx源码 在ngx_times.c源文件内找到这个以及相关函数 改改就可以了
lenky0401 发表于 2010-09-08 12:53
lenky0401 发表于 2010-09-08 12:53
已经找到思路了,谢谢
作者: ixqbar 发布时间: 2010-09-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28