$CLASSNAME$
	DATETIME
$SUMMARY$
	Class are destined to control of date and time values.
$LANG_RU$
	      .
$ABOUT$
	Class are destined to control of date and time values.
$LANG_RU$
	      .
$SYNTAX$
	DateTimeNew([<nYear>,[<nMonth>,[<nDay>,[<nHour>[,<nMin>[,<nSec>[,<nMsec>]]]]]]]) --> DATETIME object
$ATTRIBUTES$
	<ClassName> 	DATETIME
	<Data>		Date, are some date value
$LANG_RU$
	<ClassName> 	DATETIME
	<Data>		Date, 

$METHODNAME$
	DateTimeNew()
$SUMMARY$
	DATETIME object constructor.
$LANG_RU$
	  DATETIME.
$SYNTAX$
	DateTimeNew([<nYear>,[<nMonth>,[<nDay>,[<nHour>[,<nMin>[,<nSec>[,<nMsec>]]]]]]]) --> DATETIME object
$ARGUMENTS$
	<nYear>	 - Numeric, contain years value
	<nMonth> - Numeric, contain months value
	<nDay>   - Numeric, contain days value
	<nHour>  - Numeric, contain hours value
	<nMin>   - Numeric, contain minutes value
	<nSec>   - Numeric, contain secundes value
	<nMsec>  - Numeric, contain millisecundes value
$LANG_RU$
	<nYear>	 - Numeric,  
	<nMonth> - Numeric,  
	<nDay>   - Numeric,  
	<nHour>  - Numeric,  
	<nMin>   - Numeric,  
	<nSec>   - Numeric,  
	<nMsec>  - Numeric,  

$RETURNS$
	Method returns new DATETIME object.
$LANG_RU$
	    DATETIME.
$DESCRIPTION$
	DateTimeNew() is constructs and returns new DATETIME object.
	That class can be used to control date and time values.

	If some parameters not specified then date set to zero-date.

	Attention! Object contain not normalized date.
$LANG_RU$
	DateTimeNew()     DATETIME.
	       , 
	    .

	   ,     .

	!     .
$ENDMETHOD$

$METHODNAME$
	Date()
$SUMMARY$
	Gets date values.
$LANG_RU$
	 .
$SYNTAX$
	Date() 	--> <dData>
$ARGUMENTS$

$RETURNS$
	Returns <Data> value as date value.
$LANG_RU$
	 <Data>    .
$DESCRIPTION$
	Date() converts DATETIME data value to normal calendar date
	and returns  it as date values.
$LANG_RU$
	Date()  DATETIME  <::Data>  
	       .
$ENDMETHOD$


$METHODNAME$
	Time()
$SUMMARY$
	Gets the string in time format.
$LANG_RU$
	    "".
$SYNTAX$
	Time() 	--> <sTime>
$ARGUMENTS$

$RETURNS$
	Returns the string in time format.
$LANG_RU$
	    "".
$DESCRIPTION$
	Time() returns the normalized time value of the specified <Data>
	as string value in the format <hh:mm:ss:ms>
	or returns "00:00:00:00" if DateTime object contained zero-date.
	When <hh> is two-digit hours value, <mm>
	is two-digit minutes value, <ss> is two-digit secundes value and
	<ms> is two-digit milisecundes value.
$LANG_RU$
	Time()    ,   <::Data>
	 DATETIME,     <hh:mm:ss:ms>  
	"00:00:00:00" ,  DATETIME    .
	 <hh>   , <mm> -   ,
	<ss>    <ms>   .
$ENDMETHOD$

$METHODNAME$
	Year()
$SUMMARY$
	Gets year value.
$LANG_RU$
	  ""
$SYNTAX$
	Year() 	--> <nYear>
$ARGUMENTS$

$RETURNS$
	Returns the numeric value specified year value.
$LANG_RU$
	  - .
$DESCRIPTION$
	Year() returns year of the specified <::Data>
	as four-digit numeric value. Not normalized.
$LANG_RU$
	Year()    (4 ): ,   <::Data> 
	DATETIME.    .
$ENDMETHOD$

$METHODNAME$
	Month()
$SUMMARY$
	Gets month value.
$LANG_RU$
	  ""
$SYNTAX$
	Month() 	--> <nMonth>
$ARGUMENTS$

$RETURNS$
	Returns the numeric value specified month value.
$LANG_RU$
	  - .
$DESCRIPTION$
	Month() returns month of the specified <Data>
	as numeric value. Not normalized.
$LANG_RU$
	Month()   : ,   <::Data> 
	DATETIME.    .
$ENDMETHOD$


$METHODNAME$
	Day()
$SUMMARY$
	Gets day value.
$LANG_RU$
	  ""
$SYNTAX$
	Day() 	--> <nDay>
$ARGUMENTS$

$RETURNS$
	Returns the numeric value specified day value.
$LANG_RU$
	  - .
$DESCRIPTION$
	Day() returns day of the specified <Data>
	as numeric value. Not normalized.
$LANG_RU$
	Day()   : ,   <::Data> 
	DATETIME.    .
$ENDMETHOD$

$METHODNAME$
	Hour()
$SUMMARY$
	Gets hour value.
$LANG_RU$
	  ""
$SYNTAX$
	Hour() 	--> <nHour>
$ARGUMENTS$

$RETURNS$
	Returns the numeric value specified hour value.
$LANG_RU$
	  - .
$DESCRIPTION$
	Hour() returns hour of the specified <Data>
	as numeric value. Not normalized.
$LANG_RU$
	Hour()   : ,   <::Data> 
	DATETIME.    .
$ENDMETHOD$

$METHODNAME$
	Min()
$SUMMARY$
	Gets minutes value.
$LANG_RU$
	  ""
$SYNTAX$
	Min() 	--> <nMin>
$ARGUMENTS$

$RETURNS$
	Returns the numeric value specified minutes value.
$LANG_RU$
	  - .
$DESCRIPTION$
	Min() returns minutes of the specified <Data>
	as numeric value. Not normalized.
$LANG_RU$
	Min()   : ,   <::Data> 
	DATETIME.    .
$ENDMETHOD$

$METHODNAME$
	Sec()
$SUMMARY$
	Gets secundes value.
$LANG_RU$
	  ""
$SYNTAX$
	Sec() 	--> <nSec>
$ARGUMENTS$

$RETURNS$
	Returns the numeric value specified secundes value.
$LANG_RU$
	  - .
$DESCRIPTION$
	Sec() returns secundes of the specified <Data>
	as numeric value. Not normalized.
$LANG_RU$
	Sec()   : ,   <::Data> 
	DATETIME.    .
$ENDMETHOD$

$METHODNAME$
	Msec()
$SUMMARY$
	Gets millisecundes value.
$LANG_RU$
	  ""
$SYNTAX$
	Msec() 	--> <nMsec>
$ARGUMENTS$

$RETURNS$
	Returns the numeric value specified millisecundes value.
$LANG_RU$
	  - .
$DESCRIPTION$
	Msec() returns millisecundes of the specified <Data>
	as numeric value. Not normalized.
$LANG_RU$
	Msec()   : ,   <::Data> 
	DATETIME.    .
$ENDMETHOD$

$METHODNAME$
	Normalize()
$SUMMARY$
	Normalize object DATETIME.
$LANG_RU$
	  DATETIME.
$SYNTAX$
	Normalize() 	--> <oDateTime>
$ARGUMENTS$

$RETURNS$
	Returns normalized object DATETIME.
$LANG_RU$
	   DATETIME.
$DESCRIPTION$
	Normalize() converts DATETIME-data to normal calendar date and
	returns some one object.
$LANG_RU$
	Normalize()  DATETIME <::Data>   
	    .
$ENDMETHOD$

$METHODNAME$
	Add()
$SUMMARY$
	Addition two DateTime date-object
$LANG_RU$
	   DATETIME.
$SYNTAX$
	Add(<oDt>) 	--> <oDateTime>
$ARGUMENTS$

$RETURNS$
	Returns  object DATETIME.
$LANG_RU$
	   DATETIME.
$DESCRIPTION$
	Add() addes <oDt> to DDATETIME-data and returns some one witch
	increased data. New DATETIME-data is't normalize.
$LANG_RU$
	Add()  <oDt>    DATETIME   .
	      .
$ENDMETHOD$

$METHODNAME$
	Sub()
$SUMMARY$
	Subtraction two DateTime date-object
$LANG_RU$
	   DATETIME .
$SYNTAX$
	Sub(<oDt>) 	--> <oDateTime>
$ARGUMENTS$

$RETURNS$
	Returns  object DATETIME.
$LANG_RU$
	   DATETIME.
$DESCRIPTION$
	Sub() subtracts <oDt> from DATETIME-data and returns some one
	witch decreased data. New DATETIME-data is't normalize.
	</para>
$LANG_RU$
	Sub()  <oDt>    DATETIME   .
	      .
$ENDMETHOD$



$EXAMPLES$
/* Create */
dt := DateTimeNew(2003, 01, 01) //
? dt:Year()	// --> 2003
? dt:Month()	// --> 01
? dt:Day()	// --> 01

dt := DateTimeNew()
? dt:Year()	// --> 0
? dt:Month()	// --> 0
? dt:Day()	// --> 0
? dt:Date()     // --> 02-12-0001

dt := DateTimeNew(2000)
? dt:Year()	// --> 2000
? dt:Month()	// --> 0
? dt:Day()	// --> 0
? dt:Date()     // --> 30-11-1999



/* Normalize */
dt := DateTimeNew(2003, 03, 41)
? dt:Day()		// --> 41
? dt:Normalize()	// --> DateTime object
? dt:Day()		// --> 10
? dt:Date()		// --> 10-04-2003

dt := DateTimeNew(0, 0, 0)
? dt:Year()		// --> 0
? dt:Month()		// --> 0
? dt:Day()		// --> 0
? dt:Normalize()	// --> DateTime object

? dt:Year()		// --> 0001
? dt:Month()		// --> 12
? dt:Day()		// --> 02
? dt:Date()		// --> 02-12-0001

/* Control */
dt := DateTimeNew(2003, 03, 01)
? dt:Year()	// --> 2003
? dt:Month()	// --> 03
? dt:Day()	// --> 01
dt2 := DateTimeNew(0, 0, 54)

dt:Add(dt2)
? dt:Year()	// --> 2003
? dt:Month()	// --> 03
? dt:Day()	// --> 55
? dt:Date()	// --> 24-04-2003


dt := DateTimeNew(2003, 03, 01)
? dt:Year()	// --> 2003
? dt:Month()	// --> 03
? dt:Day()	// --> 01
dt2 := DateTimeNew(0, 0, 54)

dt:Sub(dt2)
? dt:Year()	// --> 2003
? dt:Month()	// --> 03
? dt:Day()	// --> -53
? dt:Date()	// --> 06-01-2003

$PLATFORMS$
   No dependies of platform.
$SEEALSO$
$AUTHOR$
ITK
$LASTDATE$


