\hypertarget{xbdate_8h_source}{}\doxysection{xbdate.\+h}
\label{xbdate_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.0/src/include/xbdate.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.0/src/include/xbdate.h}}
\mbox{\hyperlink{xbdate_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{comment}{/*  xbdate.h}}
\DoxyCodeLine{2 \textcolor{comment}{}}
\DoxyCodeLine{3 \textcolor{comment}{XBase64 Software Library}}
\DoxyCodeLine{4 \textcolor{comment}{}}
\DoxyCodeLine{5 \textcolor{comment}{Copyright (c) 1997,2003,2014,2022 Gary A Kunkel}}
\DoxyCodeLine{6 \textcolor{comment}{}}
\DoxyCodeLine{7 \textcolor{comment}{The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.}}
\DoxyCodeLine{8 \textcolor{comment}{}}
\DoxyCodeLine{9 \textcolor{comment}{Email Contact:}}
\DoxyCodeLine{10 \textcolor{comment}{}}
\DoxyCodeLine{11 \textcolor{comment}{    XDB-\/devel@lists.sourceforge.net}}
\DoxyCodeLine{12 \textcolor{comment}{    XDB-\/users@lists.sourceforge.net}}
\DoxyCodeLine{13 \textcolor{comment}{}}
\DoxyCodeLine{14 \textcolor{comment}{*/}}
\DoxyCodeLine{15 }
\DoxyCodeLine{16 }
\DoxyCodeLine{17 \textcolor{preprocessor}{\#ifndef \_\_XB\_XBDATE\_H\_\_}}
\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_XBDATE\_H\_\_}}
\DoxyCodeLine{19 }
\DoxyCodeLine{20 \textcolor{preprocessor}{\#ifdef  CMAKE\_COMPILER\_IS\_GNUCC}}
\DoxyCodeLine{21 \textcolor{preprocessor}{\#pragma interface}}
\DoxyCodeLine{22 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{23 }
\DoxyCodeLine{24 }
\DoxyCodeLine{25 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
\DoxyCodeLine{26 }
\DoxyCodeLine{27 \textcolor{preprocessor}{\#define XB\_FMT\_WEEK   1}}
\DoxyCodeLine{28 \textcolor{preprocessor}{\#define XB\_FMT\_MONTH  2}}
\DoxyCodeLine{29 \textcolor{preprocessor}{\#define XB\_FMT\_YEAR   3}}
\DoxyCodeLine{30 }
\DoxyCodeLine{31 \textcolor{comment}{// next value is added to the date calculation to match dbase calculation}}
\DoxyCodeLine{32 \textcolor{comment}{// first valid dbase date is 01/01/0001}}
\DoxyCodeLine{33 \textcolor{preprocessor}{\#define JUL\_OFFSET  1721425L}}
\DoxyCodeLine{34 }
\DoxyCodeLine{35 }
\DoxyCodeLine{37 }
\DoxyCodeLine{62 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} : \textcolor{keyword}{public} \mbox{\hyperlink{classxb_1_1xbSsv}{xbSsv}} \{}
\DoxyCodeLine{63   \textcolor{keyword}{public}:}
\DoxyCodeLine{64 }
\DoxyCodeLine{65   \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}}();}
\DoxyCodeLine{66   \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}}( \textcolor{keyword}{const} \textcolor{keywordtype}{char} * Date8 );}
\DoxyCodeLine{67   \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}}( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Date8 );}
\DoxyCodeLine{68   \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}}( xbInt32 lJulDate );}
\DoxyCodeLine{69   \mbox{\hyperlink{classxb_1_1xbDate}{\string~xbDate}}();}
\DoxyCodeLine{70 }
\DoxyCodeLine{71   \textcolor{keywordtype}{void} operator=( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&d );}
\DoxyCodeLine{72   \textcolor{keywordtype}{void} operator+=( xbInt32 i );}
\DoxyCodeLine{73   \textcolor{keywordtype}{void} operator-\/=( xbInt32 i );}
\DoxyCodeLine{74   \textcolor{keywordtype}{void} operator++( xbInt32 i );}
\DoxyCodeLine{75   \textcolor{keywordtype}{void} operator-\/-\/( xbInt32 i );}
\DoxyCodeLine{76 }
\DoxyCodeLine{77   xbInt32 operator-\/( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
\DoxyCodeLine{78   \textcolor{keyword}{const} \textcolor{keywordtype}{char} * operator-\/( xbInt32 i );}
\DoxyCodeLine{79   \textcolor{keyword}{const} \textcolor{keywordtype}{char} * operator+( xbInt32 i );}
\DoxyCodeLine{80 }
\DoxyCodeLine{81   \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator==( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
\DoxyCodeLine{82   \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator!=( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
\DoxyCodeLine{83   \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator< ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
\DoxyCodeLine{84   \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator> ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
\DoxyCodeLine{85   \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator<=( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
\DoxyCodeLine{86   \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator>=( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
\DoxyCodeLine{87 }
\DoxyCodeLine{88   xbInt16     CalcRollingCenturyForYear( xbInt16 year ) \textcolor{keyword}{const};}
\DoxyCodeLine{89   xbInt16     CenturyOf() \textcolor{keyword}{const};}
\DoxyCodeLine{90   xbInt16     CharDayOf( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutCharDay );}
\DoxyCodeLine{91   xbInt16     CharMonthOf( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutCharMonth );}
\DoxyCodeLine{92   \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}}      DateIsValid ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sDate8 ) \textcolor{keyword}{const};}
\DoxyCodeLine{93   xbInt16     DayOf( xbInt16 iFormat ) \textcolor{keyword}{const};}
\DoxyCodeLine{94   xbInt16     CTOD( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sCtodInDate );}
\DoxyCodeLine{95   xbInt16     FormatDate( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFmtIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFmtOut );}
\DoxyCodeLine{96   \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *Str() \textcolor{keyword}{const};}
\DoxyCodeLine{97   \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}}      IsLeapYear( xbInt16 iYear ) \textcolor{keyword}{const};}
\DoxyCodeLine{98   \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}}      IsLeapYear() \textcolor{keyword}{const};}
\DoxyCodeLine{99   xbInt32     JulianDays() \textcolor{keyword}{const};}
\DoxyCodeLine{100   xbInt16     JulToDate8( xbInt32 lJulDate );}
\DoxyCodeLine{101   xbInt16     LastDayOfMonth();}
\DoxyCodeLine{102   xbInt16     MonthOf() \textcolor{keyword}{const};}
\DoxyCodeLine{103   xbInt16     Set( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Date8 );}
\DoxyCodeLine{104   xbInt16     Sysdate();}
\DoxyCodeLine{105   xbInt16     YearOf() \textcolor{keyword}{const};}
\DoxyCodeLine{106 }
\DoxyCodeLine{107 \textcolor{preprocessor}{\#ifdef XB\_DEBUG\_SUPPORT}}
\DoxyCodeLine{108   \textcolor{keywordtype}{void}        Dump( \textcolor{keyword}{const} \textcolor{keywordtype}{char} * title );}
\DoxyCodeLine{109   \textcolor{keywordtype}{void}        DumpDateTables();}
\DoxyCodeLine{110 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{111 }
\DoxyCodeLine{112  \textcolor{keyword}{private}:}
\DoxyCodeLine{113   \textcolor{keywordtype}{void} SetDateTables();}
\DoxyCodeLine{114   \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sDate8;              \textcolor{comment}{/* CCYYMMDD date format                       ie; 20140718 */}}
\DoxyCodeLine{115 }
\DoxyCodeLine{116   \textcolor{keyword}{static} \textcolor{keywordtype}{int} iAggregatedDaysInMonths[2][13];}
\DoxyCodeLine{117   \textcolor{keyword}{static} \textcolor{keywordtype}{int} iDaysInMonths[2][13];}
\DoxyCodeLine{118 \};}
\DoxyCodeLine{119 }
\DoxyCodeLine{120 \}         \textcolor{comment}{/* namespace */}}
\DoxyCodeLine{121 \textcolor{preprocessor}{\#endif    }\textcolor{comment}{/*\_\_XB\_XBDATE\_H\_\_ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{122 }

\end{DoxyCode}
