我有问题。我需要获取诸如一年中的某天、某月的某天、某年的某月等。我使用以下代码:
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t liczba_sekund;
struct tm strukt;
time(&liczba_sekund);
localtime_r(&liczba_sekund, &strukt);
printf("today is %d day of year\nmonth is %d, month's day %d\n", strukt.tm_yday+1, strukt.tm_mon+1, strukt.tm_mday);
return 0;
}
第一件事:为什么 gcc -std=c99 -pedantic -Wall 返回这个警告:
我的输入: gcc test_data.c -o test_data.out -std=c99 -pedantic -Wall
输出:
test_data.c:在函数'main'中:
test_data.c:11:3:警告:函数“localtime_r”的隐式声明 [-Wimplicit-function-declaration]
第二件事:如何使它在Windows上工作?在尝试使用 Dev-C 编译它时,我得到了这个:http: //imgur.com/U7dyE
@@EDIT -------------------- 我为您的本地时间建议找到了一个示例:
#include <stdio.h>
#include <time.h>
int main ()
{
time_t time_raw_format;
struct tm * ptr_time;
time ( &time_raw_format );
ptr_time = localtime ( &time_raw_format );
printf ("Current local time and date: %s", asctime(ptr_time));
return 0;
}
如何将其更改为如下日期格式:5.12.2012 或 5-12-2012?以及如何获得一年中的一天?
如果该解决方案同时适用于 Windows 和 linux,我会很高兴。