++m;
}
if (m == 0 || pos >= n || time[pos] != ':') {
+ // syntax error
return QTime();
}
++pos;
++m;
}
if (m == 0) {
+ // syntax error
return QTime();
}
if (pos < n) {
hours += 12;
}
} else if (s.compare("am", Qt::CaseInsensitive) == 0) {
- // nothing to do
+ if (hours >= 12) {
+ hours -= 12;
+ }
} else {
+ // illegal suffix
return QTime();
}
- } else {
- // assume pm as default
- if (hours < 12) {
- hours += 12;
- }
}
return QTime(hours, minutes);
}