annotate DEPENDENCIES/generic/include/boost/date_time/gregorian/formatters_limited.hpp @ 58:25ebdd75ba19

Add Predomino/Frequla
author Chris Cannam
date Wed, 03 Sep 2014 14:37:39 +0100
parents 2665513ce2d3
children c530137014c0
rev   line source
Chris@16 1 #ifndef GREGORIAN_FORMATTERS_LIMITED_HPP___
Chris@16 2 #define GREGORIAN_FORMATTERS_LIMITED_HPP___
Chris@16 3
Chris@16 4 /* Copyright (c) 2002,2003 CrystalClear Software, Inc.
Chris@16 5 * Use, modification and distribution is subject to the
Chris@16 6 * Boost Software License, Version 1.0. (See accompanying
Chris@16 7 * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
Chris@16 8 * Author: Jeff Garland, Bart Garst
Chris@16 9 * $Date: 2008-02-27 12:00:24 -0800 (Wed, 27 Feb 2008) $
Chris@16 10 */
Chris@16 11
Chris@16 12 #include "boost/date_time/gregorian/gregorian_types.hpp"
Chris@16 13 #include "boost/date_time/date_formatting_limited.hpp"
Chris@16 14 #include "boost/date_time/iso_format.hpp"
Chris@16 15 #include "boost/date_time/date_format_simple.hpp"
Chris@16 16 #include "boost/date_time/compiler_config.hpp"
Chris@16 17
Chris@16 18 namespace boost {
Chris@16 19 namespace gregorian {
Chris@16 20
Chris@16 21 //! To YYYY-mmm-DD string where mmm 3 char month name. Example: 2002-Jan-01
Chris@16 22 /*!\ingroup date_format
Chris@16 23 */
Chris@16 24 inline std::string to_simple_string(const date& d) {
Chris@16 25 return date_time::date_formatter<date,date_time::simple_format<char> >::date_to_string(d);
Chris@16 26 }
Chris@16 27
Chris@16 28 //! Convert date period to simple string. Example: [2002-Jan-01/2002-Jan-02]
Chris@16 29 /*!\ingroup date_format
Chris@16 30 */
Chris@16 31 inline std::string to_simple_string(const date_period& d) {
Chris@16 32 std::string s("[");
Chris@16 33 std::string d1(date_time::date_formatter<date,date_time::simple_format<char> >::date_to_string(d.begin()));
Chris@16 34 std::string d2(date_time::date_formatter<date,date_time::simple_format<char> >::date_to_string(d.last()));
Chris@16 35 return std::string("[" + d1 + "/" + d2 + "]");
Chris@16 36 }
Chris@16 37
Chris@16 38 //! Date period to iso standard format CCYYMMDD/CCYYMMDD. Example: 20021225/20021231
Chris@16 39 /*!\ingroup date_format
Chris@16 40 */
Chris@16 41 inline std::string to_iso_string(const date_period& d) {
Chris@16 42 std::string s(date_time::date_formatter<date,date_time::iso_format<char> >::date_to_string(d.begin()));
Chris@16 43 return s + "/" + date_time::date_formatter<date,date_time::iso_format<char> >::date_to_string(d.last());
Chris@16 44 }
Chris@16 45
Chris@16 46
Chris@16 47 //! Convert to iso extended format string CCYY-MM-DD. Example 2002-12-31
Chris@16 48 /*!\ingroup date_format
Chris@16 49 */
Chris@16 50 inline std::string to_iso_extended_string(const date& d) {
Chris@16 51 return date_time::date_formatter<date,date_time::iso_extended_format<char> >::date_to_string(d);
Chris@16 52 }
Chris@16 53
Chris@16 54 //! Convert to iso standard string YYYYMMDD. Example: 20021231
Chris@16 55 /*!\ingroup date_format
Chris@16 56 */
Chris@16 57 inline std::string to_iso_string(const date& d) {
Chris@16 58 return date_time::date_formatter<date,date_time::iso_format<char> >::date_to_string(d);
Chris@16 59 }
Chris@16 60
Chris@16 61
Chris@16 62
Chris@16 63 inline std::string to_sql_string(const date& d)
Chris@16 64 {
Chris@16 65 date::ymd_type ymd = d.year_month_day();
Chris@16 66 std::ostringstream ss;
Chris@16 67 ss << ymd.year << "-"
Chris@16 68 << std::setw(2) << std::setfill('0')
Chris@16 69 << ymd.month.as_number() //solves problem with gcc 3.1 hanging
Chris@16 70 << "-"
Chris@16 71 << std::setw(2) << std::setfill('0')
Chris@16 72 << ymd.day;
Chris@16 73 return ss.str();
Chris@16 74 }
Chris@16 75
Chris@16 76
Chris@16 77 } } //namespace gregorian
Chris@16 78
Chris@16 79
Chris@16 80 #endif
Chris@16 81