만료 기간을 기준으로 향후 날짜를 계산하려면 std :: chrono를 사용하고 싶습니다.std :: chrono 현재 날짜에 요일을 추가하십시오.
만기 기간은 "days from now"를 지정하는 정수입니다. 그렇다면 100 일 후에 날짜를 찾으려면 어떻게 chrono lib를 사용합니까?
만료 기간을 기준으로 향후 날짜를 계산하려면 std :: chrono를 사용하고 싶습니다.std :: chrono 현재 날짜에 요일을 추가하십시오.
만기 기간은 "days from now"를 지정하는 정수입니다. 그렇다면 100 일 후에 날짜를 찾으려면 어떻게 chrono lib를 사용합니까?
time_point
이 있다고합시다. 그 객체에 일을 추가하려면 그냥 std::chrono::hours
와 operator+
를 사용할 수 있습니다
#include <chrono>
std::chrono::system_clock::time_point t = std::chrono::system_clock::now();
std::chrono::system_clock::time_point new_t = t + std::chrono::hours(100 * 24);
크로노 라이브러리에는 달력 기능은 포함하지 않습니다. 당신이 원하는 것을 정확히 달성하는 직접적인 방법은 없습니다.
미래에는 하루에 초 비율의 지속 시간을 사용하여 100 일 분의 시간 소인을 찾을 수 있습니다. 그러나 크로노는 날짜를 계산할 도구가 없습니다.
하워드 하이난트의 date library은 무료입니다 (오픈 소스).
#include "date.h"
#include <iostream>
int
main()
{
using namespace date;
using namespace std::chrono;
auto now = system_clock::now();
auto today = floor<days>(now);
year_month_day future = today + days{100};
std::cout << future << '\n';
}
위의 프로그램은 system_clock::now()
와 현재 시간을 가져온 다음 time_point
이 days
의 정밀도를 가지고 있음을 잘라 : 그것은 역법 서비스 <chrono>
확장합니다. 그런 다음 100 days
을 추가하여 향후 time_point
을 찾은 다음 사람이 소비하기 위해 {year, month, day}
구조로 변환합니다.
출력은 현재 :
2017-05-19
당신이 제 3 자 라이브러리의 혜택없이 계산의 유형을 수행 할 경우, 내가보기 엔 작성 좋습니다 chrono::duration days
과 같이 :
using days = std::chrono::duration
<int, std::ratio_multiply<std::ratio<24>, std::chrono::hours::period>>;
system_clock::time_point
에 days{100}
을 추가 할 수 있습니다.
멋지다, 나는 따라갈 것이다. – cateof
std의 '
@PiotrSkotnicki : 작업 중 : http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0355r1.html 성공 확률은 50/50입니다. –
하나는'namespace std :: litterals'을 사용하고, 스타일을 위해서'new_t = t + (100 * 24h)'라고 쓸 수 있습니다. – tforgione
좋아요, time_point를 epoch로 변환 할 수 있습니까? 그 순간을 다른 서비스에서 이식 할 수있는 형식으로 데이터베이스에 저장하고 싶습니다. – cateof
@DragonRock 주석을 편집하기에는 너무 늦었지만 올바른 철자법은'std :: literals'이며 C++입니다. 14 – rustyx