이미 이것에 대한 (추한) 코드를 작동해야하지만 어쨌든 물을 것이다 :C++ 연산은
을 내가 시간 간격 [9시 15분, 10:00), [21시 10분, 21이 : 45). 시간이 t
이고 초 수가 인 경우 t
이 간격 내에 있으면 t - s
이 속하는 날짜와 시간을 계산해야합니다.
- 예 : t = 20130913 21:15, s = 600, t-s는 20130913 09:55에 해당합니다.
- 예 : t = 20130923 09:16, s = 120, t-s는 20130920 21:44에 해당합니다.
는 C++ 깨끗하게에서이 일을하는 방법이 있나요 (부스트 : ICL은? 부스트 : DATE_TIME을?)
내가 부스트 :: ICL을 시도, 그것은 확실히 시간이 interval_set<Time>
의 범위를 저장할 수 어떤 Time
이 어떤 간격인지 찾아야하지만 t - s
시간 간격이 간격 범위에 속하지 않으면 그 시점 이전에 가장 가까운 간격을 찾을 수있는 방법을 알지 못합니다. 하루 또는 전체 주말을 통해.
't = 20130915 21:15'및 's = 3300' (55 분)에 대한 결과는 무엇입니까? 나는'20130914 21 : 40'을 의심합니다. 권리? 또한이 두 가지가 유일한 간격입니까, 아니면 일반적으로 간격의 목록입니까? – nickie
@nickie 현재, 각 요일 내에 단지 두 개의 간격이 있습니다. 물론 깨끗한 코드는 더 많은 것을 허용합니다. 나는 주말을 건너 뛰는 것을 잊었다 (15 일 일요일이었다). 예가 업데이트되었습니다. 평일 인 경우 15 일이 맞았습니다. – nurettin
내 코드에서는 모든 간격에 대해 초를 합한 다음 몇 번의 간격을 건너 뛰었는지 확인하기 위해 추한 계산을 수행 한 다음 되돌릴 필요가있는 일 수를 계산 한 다음 얼마나 많은 주말을 찾았는지 확인합니다. 버킷. – nurettin