datetime - C code for date time format validation. specified format is "YYYYMMDDHHMMSSmmmmmm" -


i need validate date-time value "yyyymmddhhmmssmmmmmm" format. hoping need find out tested working c code validate date time value above format. further, have date-time value 201304011031000000. need function verify whether valid date or not.[isdatetime()]

below each parts of formats.

yyyy : year mm : month dd : day hh : hour mm : minutes ss : seconds mmmmmm: micro-seconds 

if you're on posix system, looks should handled strptime(), 'milliseconds' (or microseconds) part not handled strptime() or other standard conversion function know of.

assuming question asking microseconds, use variation on theme provided by:

#include <stdio.h> #include <string.h> #include <time.h>  int main(void) {     const char  datetime[] = "20130417221633012345"; // yyyymmddhhmmssffffff     struct tm   time_val;     unsigned    microsecs;     const char *end = strptime(datetime, "%y%m%d%h%m%s", &time_val);     if (end != 0)     {         int nbytes;         if (strlen(end) == 6 && sscanf(end, "%6u%n", &microsecs, &nbytes) == 1 &&             nbytes == 6)         {             char buffer[32];             strftime(buffer, sizeof(buffer), "%y-%m-%d %h:%m:%s", &time_val);             printf("%s = %s.%.6u\n", datetime, buffer, microsecs);         }     }     return 0; } 

revised requirement

#include <stdio.h> #include <string.h> #include <time.h>  int isdatetime(const char *datetime) {     // datetime format yyyymmddhhmmssffffff     struct tm   time_val;     unsigned    microsecs;     int         nbytes;     const char *end = strptime(datetime, "%y%m%d%h%m%s", &time_val);      if (end != 0 && strlen(end) == 6 &&         sscanf(end, "%6u%n", &microsecs, &nbytes) == 1 && nbytes == 6)         return 1;   // valid     return 0;       // invalid } 

Comments

Popular posts from this blog

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -

node.js - Bad Request - node js ajax post -