﻿struct System.DateTime
	java java.time.LocalDateTime
	python datetime.datetime import datetime
	php DateTime
	js Date

property get int Year
	java {!}.getYear()
	python {!}.year
	php (int){!}->format("Y")
	js {!}.getFullYear()

property get int Month
	java {!}.getMonthValue()
	python {!}.month
	php (int){!}->format("m")
	js Utils.getMonth({!})

property get int Day
	java {!}.getDayOfMonth()
	python {!}.day
	php (int){!}->format("d")
	js {!}.getDate()

property get DayOfWeek DayOfWeek
	java {!}.getDayOfWeek()
	python {!}.weekday()
	php (int){!}->format("w")
	js {!}.getDay()

property get int DayOfYear
	java {!}.getDayOfYear()
	python {!}.timetuple().tm_yday
	php (int){!}->format("z")

property get int Hour
	java {!}.getHour()
	python {!}.hour
	php (int){!}->format("H")
	js {!}.getHours()

property get int Minute
	java  {!}.getMinute()
	python {!}.minute
	php (int){!}->format("i")
	js {!}.getMinutes()

property get int Second
	java {!}.getSecond()
	python {!}.second
	php (int){!}->format("s")
	js {!}.getSeconds()

property get int Millisecond
	java ({!}.getNano() / 1000000)
	python ({!}.microsecond / 1000)
	php (int){!}->format("v")
	js {!}.getMilliseconds()

property static get DateTime Now
	java {*}.now()
	python {*}.now()
	php Utils::NowDateTime()
	js Utils.now()

property static get DateTime Today
	java java.time.LocalDateTime.of(java.time.LocalDate.now(), java.time.LocalTime.of(0, 0))
	python Utils.getDate({*}.today())
	php Utils::GetDate(Utils::NowDateTime())
	js Utils.getDate(Utils.now())

property get DateTime Date
	java java.time.LocalDateTime.of({!}.toLocalDate(), java.time.LocalTime.of(0, 0))
	python Utils.getDate({!})
	php Utils::GetDate({!})
	js Utils.getDate({!})

.ctor(*)
	java java.time.LocalDateTime.of({0=1}, {1=1}, {2=1}, {3=0}, {4=0}, {5=0}) 
	python {*}({0=1}, {1=1}, {2=1}, {3=0}, {4=0}, {5=0}) 
	php Utils::CreateDateTime({0=1}, {1=1}, {2=1}, {3=0}, {4=0}, {5=0}) 
	js new Date({0=1}, {1=1} - 1, {2=1}, {3=0}, {4=0}, {5=0}) 

method string ToShortDateString()
	java {!}.toLocalDate().toString()
	python Utils.getDateShortString({!})
	php {!}->format("Y.m.d");
	js {!}.toDateString()
method string ToShortTimeString()
	java {!}.toLocalTime().toString()
	python Utils.getTimeShortString({!})
	php {!}->format("H.i.s")

method DateTime AddYears(int)
	java =plusYears
	python ({!} + datetime.timedelta(days={0}*365))
	js Utils.addYears({!}, {0})
method DateTime AddMonths(int)
	java =plusMonths
	python ({!} + datetime.timedelta(days={0}*30))
	js Utils.addMonths({!}, {0})
method DateTime AddDays(int)
	java =plusDays
	python ({!} + datetime.timedelta(days={0}))
	js Utils.addDays({!}, {0})
method DateTime AddHours(int)
	java =plusHours
	python ({!} + datetime.timedelta(hours={0}))
	js Utils.addHours({!}, {0})
method DateTime AddMinutes(int)
	java =plusMinutes
	python ({!} + datetime.timedelta(minutes={0}))
	js Utils.addMinutes({!}, {0})
method DateTime AddSeconds(int)
	java =plusSeconds
	python ({!} + datetime.timedelta(seconds={0}))
	js Utils.addSeconds({!}, {0})

method static int DaysInMonth(int, int)
	java Utils.daysInMonth({0}, {1})
	js Utils.daysInMonth({0}, {1})
	python Utils.lastDayOfMonth({0}, {1})
	php Utils::DaysInMonth({0}, {1})

method static DateTime Parse(string) throws DateTimeParseException
	java =parse

method static bool TryParse(string, ref DateTime)
	java Utils.parseDateTime({0}, {1})

method static DateTime FromFileTime(long)
	java Utils.getDateTimeFromFileTime({0})
method static DateTime FromFileTimeUtc(long)
	java Utils.getDateTimeFromFileTime({0})

field static DateTime MinValue
	java java.time.LocalDateTime.MIN
	python datetime.datetime.min
	js Utils.MIN_DATE
field static DateTime MaxValue
	java java.time.LocalDateTime.MAX
	python datetime.datetime.max
	js Utils.MAX_DATE

