精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>编码解码>>看看我的:如何把当前日期、时间转为yyyymmdd等格式日期或时间字符

主题:看看我的:如何把当前日期、时间转为yyyymmdd等格式日期或时间字符
发信人: goodfrd(supervisor)
整理人: wenbobo(2002-12-27 15:50:04), 站内信件
#include <stdio.h>
#include <time.h>

#define DTFMT_DEFAULT          0      /* 1999-01-31 12:34:56 */
#define DTFMT_YYYYMMDD         1
#define DTFMT_YYYYMMDDHHMISS   2
#define DTFMT_YYMM             3
#define DTFMT_YYYYMM           4
#define DTFMT_YYMMDD           5
#define DTFMT_MMDD             6

#define TMFMT_DEFAULT          10     /* 12:34:56 */
#define TMFMT_HHMISS           11     /* 12:34:56 -> 123456 */
#define TMFMT_MMDDHHMISS       12     /* 1999-01-31 12:34:56 -> 0131123456 */

char gs_os_time[20];

/* ------------------------------------------------------------------------- */
char *YMDdate_time(char *buffer, int datetimefmt)
{
  int    n;
  time_t timer;
  struct tm *tms;

  /* gets time of day */
  timer = time(NULL);

  /* converts date/time to a structure */
  tms = localtime(&timer);

  if(datetimefmt == DTFMT_YYYYMMDD)
    n = sprintf(buffer, "%4d%02d%02d", tms->tm_year+1900, tms->tm_mon+1,
                tms->tm_mday);
  else if(datetimefmt == DTFMT_YYYYMMDDHHMISS)
    n = sprintf(buffer, "%4d%02d%02d%02d%02d%02d", tms->tm_year+1900,
                tms->tm_mon+1, tms->tm_mday, tms->tm_hour, tms->tm_min,
                tms->tm_sec);
  else if(datetimefmt == DTFMT_YYMM)
    n = sprintf(buffer, "%02d%02d", (tms->tm_year+1900)%100, tms->tm_mon+1);
  else if(datetimefmt == DTFMT_YYYYMM)
    n = sprintf(buffer, "%4d%02d", tms->tm_year+1900, tms->tm_mon+1);
  else if(datetimefmt == DTFMT_YYMMDD)
    n = sprintf(buffer, "%02d%02d%02d", (tms->tm_year+1900)%100,
                tms->tm_mon+1, tms->tm_mday);
  else if(datetimefmt == DTFMT_MMDD)
    n = sprintf(buffer, "%02d%02d", tms->tm_mon+1, tms->tm_mday);
  else if(datetimefmt == TMFMT_HHMISS)
    n = sprintf(buffer, "02d%02d%02d",
                tms->tm_hour, tms->tm_min, tms->tm_sec);
  else if(datetimefmt == TMFMT_MMDDHHMISS)
    n = sprintf(buffer, "%02d%02d%02d%02d%02d",
                tms->tm_mon+1, tms->tm_mday, tms->tm_hour, tms->tm_min,
                tms->tm_sec);
  else if(datetimefmt == TMFMT_DEFAULT)
    n = sprintf(buffer, "02d%:02d%:02d",
                tms->tm_hour, tms->tm_min, tms->tm_sec);
  else /* datetimefmt == DTFMT_DEFAULT */
    n = sprintf(buffer, "%4d-%02d-%02d %02d:%02d:%02d", tms->tm_year+1900,
                tms->tm_mon+1, tms->tm_mday, tms->tm_hour, tms->tm_min,
                tms->tm_sec);
  buffer[n] = NUL;
  return buffer;
}

/* End of file */



----
欢迎光临良友程序库:http://0d0a.126.com http://f12.my163.com,免费提供我的各种Source Code

兄弟我抛出几块砖,有玉的赶紧亮出来啊!
 

[关闭][返回]