00001
00002
00003
00004
00005 #include <time.h>
00006 #include <string.h>
00007 #include <stdio.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 void
00019 pathf90_date(char *buf, int len)
00020 {
00021 # define MONTH_INDEX 4
00022 # define DAY_INDEX 8
00023 # define OUTP_LEN 9
00024 char inp[80], outp[OUTP_LEN + 1 ];
00025 time_t t = time(0);
00026 ctime_r(&t, inp);
00027 char *year = inp + strlen(inp) - 3 ;
00028 inp[MONTH_INDEX + 3] = 0;
00029 inp[DAY_INDEX + 2] = 0;
00030 sprintf(outp, "%s-%s-%s",
00031 inp + DAY_INDEX,
00032 inp + MONTH_INDEX,
00033 year);
00034 memset(buf, ' ', len);
00035 memcpy(buf, outp, (len < OUTP_LEN) ? len : OUTP_LEN);
00036 }