time access in C


 
Thread Tools Search this Thread
Top Forums Programming time access in C
# 1  
Old 07-22-2010
time access in C

I've a problem with time functions in C. I get current time and convert it to local time and gmt time. But their value seems to be same.I think I'm missing something..

Code:
#include <stdio.h>
#include <memory.h>
#include <time.h>

int main()
{
        time_t now_local, now_gmt;
        now_local = time(NULL);
        const char* local_now_str = ctime(&now_local);
        printf("local time: %s\n", local_now_str);

        now_gmt = time(NULL);
        const char* gmt_now_str = asctime( gmtime( &now_gmt ) );
        printf("gmt time  : %s\n", gmt_now_str);

        printf("diff      : %d\n", (int)(now_local-now_gmt));
}

Output:

local time: Thu Jul 22 13:53:05 2010

gmt time : Thu Jul 22 10:53:05 2010

diff : 0

Last edited by xyzt; 07-22-2010 at 08:09 AM..
# 2  
Old 07-22-2010
gmtime() converts epoch seconds to a struct tm that represents GMT time/date
ctime() implicitly calls localtime - it made a struct tm three hours "faster" than gmtime because of your timezone setting.
-- using the same epoch time.

Your timezone setting is 3 hours East of the zero meridian. How you set the timezone affects the output of ctime. gmtime is not affected by timezone settings.

What OS are you on? that affects how you show and set current TZ settings.
# 3  
Old 07-22-2010
This will display the offset in hours:
Code:
#include <stdio.h>
#include <time.h>

int main()
{
   time_t now_local, now_gmt;
   time_t t1, t2;
   struct tm tm1, tm2;
   char local_now_str[50];
   char gmt_now_str[50];

   now_local = time(NULL);
   now_gmt = time(NULL);

   strcpy(local_now_str, ctime(&now_local));
   strcpy(gmt_now_str, asctime(gmtime(&now_gmt)));

   strptime(local_now_str, "%c", &tm1);
   strptime(gmt_now_str, "%c", &tm2);

   t1 = mktime(&tm1);
   t2 = mktime(&tm2);

   printf("local time: %s", local_now_str);
   printf("GMT time  : %s", gmt_now_str);
   printf("Offset    : %d hrs\n", (int)difftime(t2, t1)/3600);
}

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Programming

Memory and cache access time discrepancy

#include<stdio.h> #include<stdlib.h> #include<sys/time.h> #include<time.h> #include "rdtsc.h" #define SIZE 4*64*1024 int main() { unsigned long long a,b; int arr={0}; int i; register int r; a=rdtsc(); r=arr; b=rdtsc(); printf("1st element Access Cycles = %llu\n",b-a); (2 Replies)
Discussion started by: Vaibhavs1985
2 Replies

2. Red Hat

Access time of files and directories

My query please: What I saw how access times of a file and directories work. 1) For a file the access time is the time when I 1st access it after last modification of the file, i.e., if the file is modified at 10 AM and then I access it at 11 AM. After than whenever I access without... (7 Replies)
Discussion started by: ravisingh
7 Replies

3. Red Hat

File access time issue

Hi, I am facing a weird file access time issue on redHat5.x. I have a program which will scan the files in the NFS system and delete files which are older than 4 days, before deleting files program will print the access time of the file. Some of the files are getting deleted which are not older... (1 Reply)
Discussion started by: Satyak
1 Replies

4. UNIX for Dummies Questions & Answers

File access time does not change on some files

Hey All, I want to get the access time of files in a directory. I used ls -lu on a directory and picked a file that had the access time of Mar 1 and used cat to get the contents of the file. Then I used the ls -lu again and the access time changed on that file. Perfect !! Now if I cat a... (10 Replies)
Discussion started by: vipulgupta0
10 Replies

5. Shell Programming and Scripting

need the last access time for a .gz file

i have file named aaaa. The file aaaa was zipped on one particular time. Need to know the command to find out when the file "aaaa" was actually zipped. (1 Reply)
Discussion started by: expert
1 Replies

6. Shell Programming and Scripting

Multiple access to a script at same time- problem

Dear frnds, I have developed a shell script. Like , the script will produce a output file with 4-5 lines using the parameters passed to it. Around 25 jobs would be calling the script at the same time. For few jobs alone, the output file is not created properly. The... (4 Replies)
Discussion started by: Gopal_Engg
4 Replies

7. UNIX for Advanced & Expert Users

Linux: Access time of mapped data

Before I forget, I'm running on a RedHat 5 box with the following uname -a output: Linux gnc141c 2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:19 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux Now on to my question. I'm using a tool that maps a Matlab .mat file using the Linux mmap functionality and then... (1 Reply)
Discussion started by: rusttree
1 Replies

8. AIX

Semi-operators using Root access all the time ?

I am just curious about your opinion on something which I am against. I work at the client location. Our office is very small (4 employees + 1 teamlead where 1 employee per 12hrs shifts) and we are responsible to process the reception of external files into the client's database via some tools.... (3 Replies)
Discussion started by: Browser_ice
3 Replies

9. UNIX for Dummies Questions & Answers

Access time of a file

I thought that access time of a file is time when the file was run last time (or I read somewhere that it's time when system lookup the file -> but I'm not sure when it really is) How is it exactly? Thank you for help! (11 Replies)
Discussion started by: MartyIX
11 Replies
Login or Register to Ask a Question