У меня есть время, хранящееся в 64-битной int формы 20110103101419 (то есть, представляющей 2011-01-03 10:14:19). Как преобразовать это в секунды с 1970 года?Преобразование представления десятичного времени в эпоху unix
ответ
Мой C немного ржавый, но, глядя на два других ответа, я бы написал функцию следующим образом, возвращая количество секунд с эпохи или -1 в случае ошибки.
#include <stdio.h>
#include <time.h>
time_t convertDecimalTime(long dt) {
struct tm time_str;
time_str.tm_isdst = -1;
time_str.tm_sec = dt%100; dt/=100;
time_str.tm_min = dt%100; dt/=100;
time_str.tm_hour = dt%100; dt/=100;
time_str.tm_mday = dt%100; dt/=100;
time_str.tm_mon = dt%100-1; dt/=100;
time_str.tm_year = dt%10000 - 1900;
return mktime(&time_str);
}
Обратитесь к strftime. Вы можете разобрать intput и использовать формат% S для отображения количества секунд, прошедших с начала Эпохи,
Ну, вопрос тогда как для разбора ввода (например, 20110103101419) к time_t (или структуры тм), который на самом деле то, что я просил в первую очередь. – Habalusa
Вы можете разобрать входную строку, а затем использовать mktime – Neera
И снова это вопрос * как разобрать * (обратите внимание, моя дата НЕ является строкой, она длинная, поэтому не рекомендуется переходить на strftime в первую очередь) , плющ показал мне, как разобрать его. – Habalusa
Использование mktime
создать struct tm
, то вы можете использовать strftime
с %s
параметра формата, чтобы получить количество секунд с начала эпохи.
- 1. Преобразование эпохи unix в эпоху времени в python
- 2. Как сделать автоматическое преобразование времени Rails в эпоху Unix?
- 3. Преобразование даты и времени в эпоху UNIX Timestamp
- 4. Преобразование времени в эпоху (Python)
- 5. Как преобразовать эпоху Unix в метку времени
- 6. Преобразование этих временных параметров в эпоху времени
- 7. Преобразование времени до года 999 в эпоху
- 8. Преобразование UNIX Эпоху в Datetime в зависимости от культуры
- 9. Преобразование строки в эпоху?
- 10. Python 2.7 Преобразование стандартных временных отметок unix в эпоху
- 11. Преобразование времени unix в DateTime
- 12. Преобразование времени строки в UNIX метку времени
- 13. Преобразование времени десятичного в объект datetime python
- 14. Преобразование десятичного времени в часы и минуты
- 15. Преобразование прошедшего времени десятичного числа в Oracle
- 16. Преобразование удобочитаемого времени в ЭПОХУ используя сценарий оболочки
- 17. Java - конвертировать эпоху Unix на сегодняшний день
- 18. Преобразование десятичного времени в формат hh: mm с javascript
- 19. Как получить временную эпоху Unix в PHP
- 20. Преобразование mysql DATETIME столбца в эпоху секунд
- 21. Неожиданное преобразование значения Дата строки в эпоху?
- 22. Преобразование строки в эпоху временной метки
- 23. Преобразование из Unix-времени в командной строке
- 24. Преобразование даты и времени в Unix timestamp
- 25. Преобразование времени unix в человекообразный формат
- 26. Преобразование даты в отметку времени UNIX
- 27. Преобразование строки времени в временную метку UNIX
- 28. Преобразование из десятичного в двоичный
- 29. Преобразование десятичного разряда в строку до десятичного
- 30. Преобразование десятичного в Ascii?
На странице, с которой я связан, есть полный пример;) – ismail
Закрыть, но вам нужно вычесть 1 из 'tm_mon': Месяцы основаны на 0: 0 = Jan, 1 = Feb и т. Д. – Thanatos
Спасибо. Починил это! – ivy