w3resource logo


C Programming Exercises

C Exercises: Print the date and time before 24 months

Secondary Nav

C Date Time: Exercise-8 with Solution

Write a program in C to print the date and time before 24 months.

Expected Output :

Today is :          Tue Sep  6 14:26:56 2016                            
(DST is not in effect)                                                  
                                                                        
24 months ago the date was : Sat Sep  6 14:26:56 2014                   
(DST was not in effect)

C Code:

#define _POSIX_C_SOURCE 200112L 
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
 
int main(void)
{
    setenv("TZ", "/usr/share/zoneinfo/Asia/Calcutta", 1);   
    struct tm tm = *localtime(&(time_t){time(NULL)});
    printf("\nToday is :          %s", asctime(&tm));
    printf("(DST is %s)\n", tm.tm_isdst ? "in effect" : "not in effect");
    tm.tm_mon -= 24;  
    mktime(&tm);       
    printf("\n24 months ago the date was : %s", asctime(&tm));
    printf("(DST was %s)\n\n", tm.tm_isdst ? "in effect" : "not in effect");
}

Flowchart :

Flowchart: Print the date and time before 24 months

C Practice online:

#define _POSIX_C_SOURCE 200112L 
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
 
int main(void)
{
    setenv("TZ", "/usr/share/zoneinfo/Asia/Calcutta", 1);   
    struct tm tm = *localtime(&(time_t){time(NULL)});
    printf("\nToday is :          %s", asctime(&tm));
    printf("(DST is %s)\n", tm.tm_isdst ? "in effect" : "not in effect");
    tm.tm_mon -= 24;  
    mktime(&tm);       
    printf("\n24 months ago the date was : %s", asctime(&tm));
    printf("(DST was %s)\n\n", tm.tm_isdst ? "in effect" : "not in effect");
}

Improve this sample solution and post your code through Disqus



Join our Question Answer community to learn and share your programming knowledge.

Help the community:

PHP: Loop

JavaScript: Delete duplicates in an array

Oracle: Round the number