File indexing completed on 2024-05-12 03:47:27
0001 #include "Time.h" 0002 0003 namespace DateTime { 0004 qint64 milliseconds(qint64 hour, qint64 minute, qint64 second, qint64 millisecond) { 0005 qint64 value = millisecond; 0006 value += (hour * 3600 + minute * 60 + second) * 1000; 0007 return value; 0008 } 0009 qint64 createValue(qint64 year, qint64 month, qint64 day, qint64 hour, qint64 minute, qint64 second, qint64 millisecond) { 0010 return millisecond + 1000 * (second + 60 * (minute + 60 * (hour + 24 * (day + 30 * (month + 12 * year))))); 0011 } 0012 DateTime dateTime(const qint64 value) { 0013 DateTime dt; 0014 qint64 divisor = qint64(12) * 30 * 24 * 60 * 60 * 1000; 0015 qint64 rest; 0016 dt.year = value / divisor; 0017 rest = value - dt.year * divisor; 0018 divisor = qint64(30) * 24 * 60 * 60 * 1000; 0019 dt.month = rest / divisor; 0020 rest = rest - dt.month * divisor; 0021 divisor = qint64(24) * 60 * 60 * 1000; 0022 dt.day = rest / divisor; 0023 rest = rest - dt.day * divisor; 0024 divisor = qint64(60) * 60 * 1000; 0025 dt.hour = rest / divisor; 0026 rest -= dt.hour * divisor; 0027 divisor = qint64(60) * 1000; 0028 dt.minute = rest / divisor; 0029 rest -= dt.minute * divisor; 0030 divisor = qint64(1000); 0031 dt.second = rest / divisor; 0032 rest -= dt.second * divisor; 0033 dt.millisecond = rest; 0034 0035 return dt; 0036 } 0037 }