当前位置:  开发笔记 > 编程语言 > 正文

strftime()无法正确显示秒数

如何解决《strftime()无法正确显示秒数》经验,为你挑选了1个好方法。

我尝试使用strftime()来获取格式化的时间戳.

char ft[ 256 ];
struct tm *tmp;
strftime( ft, 256, "%D - %T", tmp );

我的问题是我得到了"13/02/60 - 03:07:-17958194".有没有办法正确显示秒数?(我使用的是Mac OS X和gcc)



1> Michael Trau..:

您在已发布的代码中使用了未初始化的值,这可以解释您遇到此问题的原因.以下代码会产生您要查找的内容:

#include 
#include 

int
main(int argc, char *argv[]) {
  char ft[256];
  struct tm *tmp;
  time_t curtime;

  time(&curtime);
  tmp = localtime(&curtime);

  strftime(ft, 256, "%D - %T %s", tmp);
  printf("%s\n", ft);

  return(0);
}

然后,编译并运行示例:

cc -o time_ex time_ex.c
./time_ex
02/26/09 - 11:26:34 1235665594

ETA:当然,如果你只想要没有UNIX时间的本地时间,请删除%s.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有