2014-10-17 2 views
-2

В C++:как отобразить текущее время системы + 3 минуты?

  • Как я могу отобразить текущее время системы (только время без даты)?

  • Как я могу отображать текущее время + 3 минуты?

  • Могу ли я это сделать, используя cout?

Какие библиотеки или функции использовать?

+2

Check ['std :: chrono :: system_clock :: now()'] (http://en.cppreference.com/w/cpp/chrono/system_clock/now) –

+3

Я использую магию Эльфов. Ваш пробег может отличаться. –

+2

Это выглядит как домашнее задание –

ответ

1

Вы можете попробовать этот пример (использование C++ 11 лязг 3,6):

#include <iostream> 
#include <iomanip> 
#include <ctime> 
#include <chrono> 

int main() 
{ 
    std::chrono::system_clock::time_point now = std::chrono::system_clock::now(); 
    std::time_t now_c = std::chrono::system_clock::to_time_t(now - std::chrono::hours(24)); 
    std::cout << std::put_time(std::localtime(&now_c), "%T") << std::endl; 
    std::time_t later_c = std::chrono::system_clock::to_time_t(now - std::chrono::hours(24) + std::chrono::minutes(3)); 
    std::cout << std::put_time(std::localtime(&later_c), "%T") << std::endl; 

    return 0; 
} 

просто использовать std::chrono.

+2

'std :: put_time' плохо поддерживается, поскольку [GCC 4.9 его не имеет] (http://stackoverflow.com/a/14137287/560648), и не clang 3.5.0. Поэтому, если вы не используете, что, MSVS (?), Это не будет слишком полезно. –

+1

@LightnessRacesinOrbit Ну, по крайней мере, это описано как стандартная функция в [этой ссылке] (http://en.cppreference.com/w/cpp/io/manip/put_time) –

+2

@ πάνταῥεῖ Да, это C++ 11 особенность. Я просто сказал, что он плохо поддержан, и я поддерживаю это заявление. Замечательно, что cppreference.com соответствует букве стандарта, и я полагаю, что это полезно, если вы собираетесь начать карьеру в качестве вкладчика cppreference.com ... но для всего другого использования на C++ не так много. –

Смежные вопросы