arpadate.c

来自「汇编源代码大全」· C语言 代码 · 共 50 行

C
50
字号
/*
   arpadate - return the current date/time in RFC 822 format

   ctime() format 'Mon Nov 21 11:31:54 1983\n\0'

   RFC822 format  'Mon, 21 Nov 1983 11:31:54 PST\0' or
   RFC822 format  'Mon, 16 May 1988 02:13:10 -0700\0'
*/

#include <stdio.h>
#include <time.h>

#include "lib.h"
#include "arpadate.h"

char *arpadate()
{
   static char adate[40];
   time_t t;
   static time_t save_t = 0;

/*--------------------------------------------------------------------*/
/*       Microsoft and Turbo don't agree on timezone (%z or %Z)       */
/*--------------------------------------------------------------------*/

#ifdef __TURBOC__
   static char format[] = "%a, %d %b %Y %H:%M:%S %Z";
#else
   static char format[] = "%a, %d %b %Y %H:%M:%S %z";
#endif

/*--------------------------------------------------------------------*/
/*     Return previously formatted buffer if time has not changed     */
/*--------------------------------------------------------------------*/

   time( &t );
   if ( save_t == t)
      return adate;

/*--------------------------------------------------------------------*/
/*                 Format the new time and return it                  */
/*--------------------------------------------------------------------*/

   strftime( adate , sizeof( adate ) , format ,  localtime( &t ));
   printmsg(5, "date=%s", adate);
   save_t = t;
   return adate;

} /*arpadate*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?