2012-02-24 5 views
0

으로 바꿉니다. 부스트 날짜 시간 라이브러리에는 boost :: gregorian :: greg_month 유형으로 월 짧은 문자열 (예 : Jan, Feb, Mar, Apr)을 변환하는 유틸리티 기능이 있습니까? 라이브러리 설명서가 좋지 않아 헤더에 아무 것도 볼 수 없습니다.문자열을 boost :: gregorian :: greg_month

답변

1

해키 작품으로 %b을 가지고 나타납니다 짧은 월 이름을 사용 greg_month 인스턴스를 만듭니다. 그냥 그램의 발견에 따라

... 주위에 약간의 래퍼를 작성해야이 이미 boost::date_time::month_str_to_ushort<>

+0

그냥 함수가 이미이를 wrappin 발견 랩하는 편의 기능이있다 : 부스트 : DATE_TIME :: month_str_to_ushort을 . 도와 주셔서 감사합니다! – Graeme

+0

@Graeme, aha - 어딘가에 있어야했다. - 아주 사소한 기능이다. :) – Nim

0

예, 로케일을 만들고 스트림에 넣는 데 사용할 수있는 부스트 날짜 시간 패싯이 있습니다.

많은 수의 날짜와 시간을 인쇄하거나 구문 분석 할 경우 구문 분석 할 때마다 패싯과 로캘을 만들지 않도록주의하십시오.

날짜를 입력하는 문서는 here을 참조하십시오.

#include <iostream> 
#include <boost/date_time/gregorian/gregorian.hpp> 

int main(void) 
{ 
    auto ptr = boost::gregorian::greg_month::get_month_map_ptr(); 

    if (ptr) 
    { 
    auto it = ptr->begin(); 
    for(; it != ptr->end(); ++it) 
    { 
     std::cout << it->first << " " << it->second << '\n'; 
    } 
    } 
} 

이지도는 모든 짧은/긴 이름과 짧은 필요한 사이에 매핑이 포함되어 있습니다 자신의 예제 중 일부는 주위에있을 수는 format specifier

관련 문제