Например нужно добавить значение: 40 часов, 70 мин 500сек к какой-то дате.
Функция получает строку формата “HH:MM:SS” и возвращает значение секунд которое дальше можно переводить в нужный формат либо добавлять эти секунды к дате и т.п.
static int64 StrHMS2Time(str _time, str _separator = ‘:’)
{
container timeHMS;
int64 retTime;
timeHMS = str2con(_time, _separator, false);
if (str2int64(_time) != 0 && conLen(timeHMS) == 3)
{
retTime = (str2int64(conPeek(timeHMS, 1)) * 3600) +
(str2int64(conPeek(timeHMS, 2)) * 60) + str2int64(conPeek(timeHMS, 3));
}
return retTime;
}
Функция обратного преобразования:
static TempStr time2StrHMS(int64 time)
{
int64 hours;
int64 minutes;
TempStr strTime;
str addLeadingZero(str _str)
{
if (strLen(_str) == 1)
return ‘0’ + _str;
else
return _str;
}
hours = time div 3600;
time = time < 0 ? -time : time;
minutes = time mod 3600 div 60;
strTime = addLeadingZero(int642str(hours)) + ‘:’;
strTime += addLeadingZero(int642str(minutes)) + ‘:’;
strTime += addLeadingZero(int642str(time mod 3600 mod 60));
return strTime;
}
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.