#ifndef DATE_TIME_SIMPLE_FORMAT_HPP___ | |
#define DATE_TIME_SIMPLE_FORMAT_HPP___ | |
/* Copyright (c) 2002,2003 CrystalClear Software, Inc. | |
* Use, modification and distribution is subject to the | |
* Boost Software License, Version 1.0. (See accompanying | |
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) | |
* Author: Jeff Garland, Bart Garst | |
* $Date: 2008-02-27 15:00:24 -0500 (Wed, 27 Feb 2008) $ | |
*/ | |
#include "boost/date_time/parse_format_base.hpp" | |
namespace boost { | |
namespace date_time { | |
//! Class to provide simple basic formatting rules | |
template<class charT> | |
class simple_format { | |
public: | |
//! String used printed is date is invalid | |
static const charT* not_a_date() | |
{ | |
return "not-a-date-time"; | |
} | |
//! String used to for positive infinity value | |
static const charT* pos_infinity() | |
{ | |
return "+infinity"; | |
} | |
//! String used to for positive infinity value | |
static const charT* neg_infinity() | |
{ | |
return "-infinity"; | |
} | |
//! Describe month format | |
static month_format_spec month_format() | |
{ | |
return month_as_short_string; | |
} | |
static ymd_order_spec date_order() | |
{ | |
return ymd_order_iso; //YYYY-MM-DD | |
} | |
//! This format uses '-' to separate date elements | |
static bool has_date_sep_chars() | |
{ | |
return true; | |
} | |
//! Char to sep? | |
static charT year_sep_char() | |
{ | |
return '-'; | |
} | |
//! char between year-month | |
static charT month_sep_char() | |
{ | |
return '-'; | |
} | |
//! Char to separate month-day | |
static charT day_sep_char() | |
{ | |
return '-'; | |
} | |
//! char between date-hours | |
static charT hour_sep_char() | |
{ | |
return ' '; | |
} | |
//! char between hour and minute | |
static charT minute_sep_char() | |
{ | |
return ':'; | |
} | |
//! char for second | |
static charT second_sep_char() | |
{ | |
return ':'; | |
} | |
}; | |
#ifndef BOOST_NO_STD_WSTRING | |
//! Specialization of formmating rules for wchar_t | |
template<> | |
class simple_format<wchar_t> { | |
public: | |
//! String used printed is date is invalid | |
static const wchar_t* not_a_date() | |
{ | |
return L"not-a-date-time"; | |
} | |
//! String used to for positive infinity value | |
static const wchar_t* pos_infinity() | |
{ | |
return L"+infinity"; | |
} | |
//! String used to for positive infinity value | |
static const wchar_t* neg_infinity() | |
{ | |
return L"-infinity"; | |
} | |
//! Describe month format | |
static month_format_spec month_format() | |
{ | |
return month_as_short_string; | |
} | |
static ymd_order_spec date_order() | |
{ | |
return ymd_order_iso; //YYYY-MM-DD | |
} | |
//! This format uses '-' to separate date elements | |
static bool has_date_sep_chars() | |
{ | |
return true; | |
} | |
//! Char to sep? | |
static wchar_t year_sep_char() | |
{ | |
return '-'; | |
} | |
//! char between year-month | |
static wchar_t month_sep_char() | |
{ | |
return '-'; | |
} | |
//! Char to separate month-day | |
static wchar_t day_sep_char() | |
{ | |
return '-'; | |
} | |
//! char between date-hours | |
static wchar_t hour_sep_char() | |
{ | |
return ' '; | |
} | |
//! char between hour and minute | |
static wchar_t minute_sep_char() | |
{ | |
return ':'; | |
} | |
//! char for second | |
static wchar_t second_sep_char() | |
{ | |
return ':'; | |
} | |
}; | |
#endif // BOOST_NO_STD_WSTRING | |
} } //namespace date_time | |
#endif |