日付関数

閏年か判定

bool isleap(int year) {
  return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}

01:01:01とかになってたら、変換

sscanf(time, "%d:%d:%d", &hh, &mm, &ss);

//string str = "01:01:01"とかなら、
for(int i = 0; i < sz; i++) {
  if(str[i] = ':') {
     str[i] = ' ';
  }
}
istringstream iss(str);
iss >> hh >> mm >> ss;
//まぁ、前者のほうが
//0は捨てられる

秒に直して処理をするときは11:59:59 と 00:01;01とかに注意.場合分けが必要.