#include <stdio.h> #include <time.h> time_t time; struct tm tm; char linea[256], lineb[256], linec[256]; int a, b, c, d, e, f; main(argc, argv) int argc; char *argv[]; { if ((argc < 2) || (strlen(argv[1]) < 8)) { printf("Usage:\n%s mm/dd/yyyy\n", argv[0]); exit(1); } a = 0; b = 3; c = 6; sprintf(linea, "%s", argv[1]); d = (linea[a] - 48)*10; a++; if (linea[a] < 48 || linea[a] > 57) { d = (linea[a-1] - 48); b--; c--; } else { d += (linea[a] - 48); } e = (linea[b] - 48)*10; b++; if (linea[b] < 48 || linea[b] > 57) { e = (linea[b-1] - 48); c--; } else { e += (linea[b] - 48); } f = (linea[c] - 48) * 1000; c++; f += (linea[c] - 48) * 100; c++; if ((linea[c] < 48) || (linea[c] > 57) || (linea[c+1] < 48) || (linea[c+1] > 57)) { printf("Usage:\n%s mm/dd/yyyy\n", argv[0]); exit(1); } f += (linea[c] - 48) * 10; c++; f += (linea[c] - 48); /* printf("%d/%d/%d\n", d, e, f); */ tm.tm_year = f-1900; tm.tm_mon = d-1; tm.tm_mday = e; tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; time = timelocal(&tm); printf("%ld\n", time); exit(0); }