最終更新日時:
が更新

履歴 編集

Date Generators / Algorithms

Date Generators / Algorithms

Introduction

日付アルゴリズムあるいはジェネレータは、他の日付あるいは日付のスケジュールを生成するためのツールである。 生成関数は、月と日のような日付のある部分で始まり、その後、具体的な日付を生成するために残りの部分を供給される。 これは、プログラマが「2月の最初の日曜日」のような概念を表わし、次に、1つ以上の年を供給された時に日付の具体的なセットを生成することを想定している。

using namespace boost::gregorian; 
typedef boost::date_time::nth_kday_of_month<date> nkday;
nkday ldgen(nkday::first, Monday, Sep)); // US labor day (アメリカ合衆国 労働者の日)
date labor_day = ldgen.get_date(2002); // 2002年の労働者の日を計算

print holidays example に詳細な使い方の例を示す。

Header

#include "boost/date_time/date_generators.hpp" 

Class Overview

Class Construction Parameters get_date Parameter Description Example
first_kday_after greg_day_of_week day_of_week date start_day 2002年1月1日以降の最初の日曜日のといったものを計算する first_kday_after fkaf(Monday);
date d = fkaf.get_date(date(2002,Jan,1));//2002-Jan-07
first_kday_before greg_day_of_week day_of_week date start_day 2002年2月1日以前の最初の月曜日といったものを計算する first_kday_before fkbf(Monday);
date d = fkbf.get_date(date(2002,Feb,1));//2002-Jan-28
last_kday_of_month greg_day_of_week day_of_week
greg_month month
greg_year year 1月最後の月曜日といったものを計算する last_kday_of_month lkm(Monday,Jan);
date d = lkm.get_date(2002);//2002-Jan-28
first_kday_of_month greg_day_of_week day_of_week
greg_month month
greg_year year 1月最初の月曜日といったものを計算する first_kday_of_month fkm(Monday,Jan);
date d = fkm.get_date(2002);//2002-Jan-07
partial_date greg_month month
greg_day day_of_month
greg_year year 月および日を与えられた日付に、年を適用することにより日付を生成する partial_date pd(Jan,1);
date d = pd.get_date(2002);//2002-Jan-01

Last modified: Tue Sep 3 16:02:55 MST 2002 by Jeff Garland © 2000-2002

Japanese Translation Copyright (C) 2003 Shoji Shinohara.