Мне интересно, какой самый дешевый способ получить временную метку в Linux (на C++).
Я предполагаю, что это точность торговли, поэтому я считаю, что существует более одной возможности.
Мне нужно иметь миллисекунды, но необязательно microseconds
, поэтому std::localtime
не является вариантом, а gettimeofday
, вероятно, слишком дорогостоящим. (из-за точности микросекунд).«Самый дешевый» способ получить отметку времени в Linux (C++)
ответ
Я хотел бы предложить CTIME библиотеки и следующий код:
std::time_t timestamp = std::time(nullptr);
std::cout << std::asctime(std::localtime(&result))
<< result << " seconds since the Epoch\n";
Это вернет в «результате» переменное количество секунд, прошедшее с началом Эпохи (довольно прямо вперед). Есть способы конвертировать это в удобочитаемый формат, но, как вы сказали, стоит дорого. Получение этого числа было бы очень эффективным, поскольку оно только считывало переменную из системы вместо преобразования/конкатенации и вычисления читаемой даты.
Спасибо, я думаю, это самый дешевый, но мне нужно лучшее разрешение, чем секунды (миллисекунды, я думаю?) – SagiLow
1: fprintf(stdout, "%u\n", (unsigned)time(NULL));
2: struct timeval tv; gettimeofday(&tv,NULL); tv.tv_sec // seconds tv.tv_usec // microseconds
3: std::time_t result = std::time(nullptr); std::cout << std::asctime(std::localtime(&result)) << result << " seconds since the Epoch\n";
4:
using namespace std::chrono;
milliseconds ms = duration_cast<milliseconds>(
high_resolution_clock::now().time_since_epoch()
);`
Спасибо за ваш ответ, второй совсем не дешев, последний такой же, как и в первом ответе и содержит только секунды, и я не уверен, что понимаю первые) ... – SagiLow
@SagiLow try chrono – user3013807
плохо посмотрите, спасибо! – SagiLow
- 1. Самый дешевый способ получить массив numpy в C-смежном порядке?
- 2. Самый дешевый способ классификации объектов HTTP post
- 3. Самый дешевый способ размещения MongoDB на Azure
- 4. самый дешевый способ связывания локальной переменной закрытия
- 5. Какой самый дешевый способ специализироваться члена черты
- 6. Самый дешевый способ управления реляционными данными SQL
- 7. Самый дешевый способ служить статическому файлу
- 8. C# вычислять отметку времени
- 9. Самый дешевый алгоритм пути
- 10. MySQL самый дешевый запрос цены
- 11. Дешевый способ сброса сварки?
- 12. Каков самый дешевый способ дождаться обновления db в PHP?
- 13. Самый простой способ получить отметку времени unix для даты ровно 1 месяц назад в php
- 14. Самый дешевый Android 1.5 устройство
- 15. Самый дешевый способ генерации временных меток под окнами
- 16. самый дешевый способ вставки записи в упорядоченном таблице в рельсах
- 17. Каков самый дешевый способ обновления Java DateTime java?
- 18. Самый простой/самый дешевый способ конвертировать код C# на домашний ПК в веб-службу?
- 19. Самый дешевый способ создания файла маркера на unix
- 20. Apache Spark самый дешевый способ запуска преобразования RDD
- 21. Самый дешевый способ извлечения/записи нескольких объектов на GAE
- 22. Преобразовать отметку времени Unix в длинную оригинальную отметку времени
- 23. Самый дешевый способ вставить один миллиард строк в AWS RDS
- 24. Самый дешевый способ вставки уникальных строк в MySQL?
- 25. Каков самый дешевый способ рендеринга статического шаблона в нокауте?
- 26. Самый дешевый способ установить изображение для ImageView в Android
- 27. Как найти «Самый дешевый отель»?
- 28. Самый дешевый метод связи EDI?
- 29. Самый дешевый Windows VPS-хостинг?
- 30. SQL, показывающий самый дешевый поставщик
ли вы имеете в виду в Баш/консоли или в C++? –
C++, отредактировал que – SagiLow
Мы не можем ответить, пока вы не уточните, что вы имеете в виду под «самым дешевым». Обычный метод штамповки - использовать gettimeofday() и преобразовывать ответ в миллисекунды: ((tv_sec * 1000) + (tv_usec/1000)) или микросекунды: (tv_sec * 1000000 + tv_usec). РЕДАКТИРОВАТЬ: убедитесь, что вы используете долгое время для ответа на эти два вопроса. – guilleamodeo