![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Boost.Locale: calendar.cppBoost , ,
calendar.cpp Пример использования функций date_time для создания календаря на текущий год. //
// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
//
#include <boost/locale.hpp>
#include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
using namespace boost::locale;
generator gen;
std::locale::global(gen(""));
std::cout.imbue(std::locale());
// Setup environment
date_time start=now;
// Set the first day of the first month of this year
// Display current year
//
// Run forward untill current year is the date
//
for(now=start; period::year(now) == current_year;) {
// Print heading of month
std::cout << format("{1,ftime='%B'}") % now <<std::endl;
else
std::cout << format("{1,ftime='%B'} ({1,ftime='%Y-%m-%d',locale=en} - {2,locale=en,ftime='%Y-%m-%d'})")
% now
// Print weeks days
for(int i=0;i<7;i++) {
std::cout << format("{1,w=8,ftime='%a'} ") % tmp;
}
std::cout << std::endl;
int current_month = now / period::month();
for(int i=0;i<skip*9;i++)
std::cout << ' ';
std::cout << format("{1,w=8,ftime='%e'} ") % now;
if(now / period::day_of_week_local() == 7)
std::cout << std::endl;
}
std::cout << std::endl;
}
}
// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
Статья Boost.Locale: calendar.cpp раздела может быть полезна для разработчиков на c++ и boost. Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: ::
|
||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |