免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1787 | 回复: 9
打印 上一主题 下一主题

[函数] 寻求关于获得日期时间的函数或设计思想 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-11 19:23 |只看该作者 |倒序浏览
各位高手:
    本人想写一个函数,主要是想获得日期或时间。
    设想函数通过定义形式参数达到获得日期或时间的目的。

    例如:
  1. char *GetDateTime(char *format);
  2.       format  可以有规则定义,
  3.             如1:  YYYYMMDD    得到当前日期   20030511
  4.                      2:     YYYY/MM/DD                       2003/05/11
  5.                      3:     hh:mm:SS     得到当前时间  19:15:20
  6.                      4:     XQ                 得到星期几   日
  7.               5:     TS                  得到天数     131
  8.                      6: "系统日期 YYYY年MM月DD日星期XQ"   得到 系统日期 2003年05月11日星期日
  9.             当然,也可以用 MMDDYYYY   得到 05112003

  10. #include <stdio.h>;
  11. #include <time.h>;

  12. main()
  13. {
  14.         char    *str;
  15.         str=GetDateTime("你好 YYYY年MM月DD日  hh时mm分SS秒 星期 XQ   全年已经过了TS天");

  16.         printf("%s\n",str);
  17. }

  18. 结果显示:你好 2003年05月11日  19时15分20秒 星期日   全年已经过了131天

  19.       请大家讨论编程思想,怎样写才能比较简单!
复制代码

论坛徽章:
0
2 [报告]
发表于 2003-05-11 20:18 |只看该作者

寻求关于获得日期时间的函数或设计思想

time
localtime
printf

看看这几个函数的man
我想你就会知道了

论坛徽章:
0
3 [报告]
发表于 2003-05-11 20:23 |只看该作者

寻求关于获得日期时间的函数或设计思想

无双:
怎样获得系统日期和时间我知道怎么弄!
现在主要是想知道format串怎么灵活运用!

论坛徽章:
0
4 [报告]
发表于 2003-05-11 20:29 |只看该作者

寻求关于获得日期时间的函数或设计思想

  1. /*-------------------------------------------------------
  2. 功能: 取得表示时间的字符串
  3. 参数: sort 字符串的格式:
  4.           1 - yyyy-MM-DD HH:MM:SS
  5.           2 - YYYYMMDD
  6.           3 - YYYY/MM/DD
  7.                   4 - YYYYMMDDHHMMSS
  8. 结果: char *result
  9. ---------------------------------------------------------*/
  10. void GetStrtime(int sort,char * result)
  11. {
  12.         time_t t_now;                        /*现在时间*/
  13.         char   ca_temp[50];                  /*临时字符串*/
  14.         struct tm   *ptm_temp;      /*临时tm变量  */

  15.         time(&t_now);        /*取得现在时间*/
  16.        
  17.         ptm_temp = localtime(&t_now);
  18.         switch(sort){
  19.                 case 1:
  20.                         strftime(ca_temp,50,"%Y-%m-%d %H:%M:%S",ptm_temp);
  21.                         break;
  22.                 case 2:
  23.                         strftime(ca_temp,50,"%Y%m%d",ptm_temp);
  24.                         break;
  25.                 case 3:
  26.                         strftime(ca_temp,50,"%Y/%m/%d",ptm_temp);
  27.                         break;
  28.                 case 4:
  29.                         strftime(ca_temp,50,"%Y%m%d%H%M%S",ptm_temp);
  30.         }
  31.         strcpy(result,ca_temp);

  32.         return;
  33. }
复制代码

论坛徽章:
0
5 [报告]
发表于 2003-05-11 20:42 |只看该作者

寻求关于获得日期时间的函数或设计思想

谢谢! 启发很大!

论坛徽章:
0
6 [报告]
发表于 2003-05-11 20:45 |只看该作者

寻求关于获得日期时间的函数或设计思想

楼上写得很简单
但是没有检查
result 是不是空值

如果能力上检查那么就是安全的代码
另外直接打印到result就会变成很简单的代码

不过g_t 能写出这样的代码已是进步很快了

论坛徽章:
0
7 [报告]
发表于 2003-05-11 20:55 |只看该作者

寻求关于获得日期时间的函数或设计思想

经过测试完全正确!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2003-05-12 09:20 |只看该作者

寻求关于获得日期时间的函数或设计思想

strftime(ca_temp,50,"%Y-%m-%d %H:%M:%S",ptm_temp);

函数strftime功能确实比较强大,能实现多种转化,有时间把这个函数的详细信息,贴进来。

论坛徽章:
0
9 [报告]
发表于 2003-05-12 21:23 |只看该作者

寻求关于获得日期时间的函数或设计思想

期待ing.....

论坛徽章:
0
10 [报告]
发表于 2003-05-12 22:19 |只看该作者

寻求关于获得日期时间的函数或设计思想

收藏 学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP