I don't understand, why this doesn't work? PS: I found this piece of code from some google!
Problem: I don't know why it should work? Does this consider timezone as well?!
1 #include<stdio.h>
2 #include <stdlib.h>
3 #include <string>
4 #include <time.h>
5 int main()
6 {
7 std::string text("10/10/2013 14:01:00");
8 const char* nptr = text.c_str();
9 char* endptr = NULL;
10 time_t seconds_from_epoch = strtoul(nptr, &endptr, 0);
11 if (secs != 0)
12 printf("Secs: %ld\n", secs);
13 if (*nptr != '\0' && endptr && *endptr == '\0') {
14 printf("Secs: %ld\n", secs);
15 } else {
16 printf("Unable to convert\n");
17 }
18 }
It was false assumption.
This is how I did:
21 printf("************************\n");
22 int day, month, yr, hr, min, sec, tzone;
23 char* more = (char *)nptr;
24 month = strtol(more, &more, 10);
25 day = strtol(more+1, &more, 10);
26 yr = strtol(more+1, &more, 10);
27 hr = strtol(more+1, &more, 10);
28 min = strtol(more+1, &more, 10);
29 sec = strtol(more+1, &more, 10);
30 tzone = strtol(more+1, &more, 10);
31
32 printf("Month: %d, Day: %d, Year: %d, Hour: %d, Min: %d, Sec: %d, Tzone: %d\n",
33 month, day, yr, hr, min, sec, tzone);
Then one can use struct tm and mktime.