# _GetDate()

## Recommended Posts

Convert any date ( >1900 ) to a day of the week!

Exemple: 14 April 2007 is a Saturday

23 September 49302 is a Thursday

```;By Joke758
#include <Date.au3>
\$day = Inputbox ( "Date to Day", "Day (1-31)", "", "", -1, 100, -1, -1 )
\$Month = Inputbox ( "Date to Day", "Month (1-12)", "", "", -1, 100, -1, -1 )
\$Year = Inputbox ( "Date to Day", "Year (1900-infinite)", "", "", -1, 100, -1, -1 )
\$a = _GetDay ( \$day, \$month, \$year )

If \$a = 0 Then
Msgbox ( 64, "Day", \$day&" "&_DateMonthOfYear(\$month, 0)&" "&\$year&" is a Sunday" )
ElseIf \$a = 1 Then
Msgbox ( 64, "Day", \$day&" "&_DateMonthOfYear(\$month, 0)&" "&\$year&" is a Monday" )
ElseIf \$a = 2 Then
Msgbox ( 64, "Day", \$day&" "&_DateMonthOfYear(\$month, 0)&" "&\$year&" is a Tuesday" )
ElseIf \$a = 3 Then
Msgbox ( 64, "Day", \$day&" "&_DateMonthOfYear(\$month, 0)&" "&\$year&" is a Wednesday" )
ElseIf \$a = 4 Then
Msgbox ( 64, "Day", \$day&" "&_DateMonthOfYear(\$month, 0)&" "&\$year&" is a Thursday" )
ElseIf \$a = 5 Then
Msgbox ( 64, "Day", \$day&" "&_DateMonthOfYear(\$month, 0)&" "&\$year&" is a Friday" )
ElseIf \$a = 6 Then
Msgbox ( 64, "Day", \$day&" "&_DateMonthOfYear(\$month, 0)&" "&\$year&" is a Saturday" )
Else
Msgbox ( 16, "Day", "Error" )
EndIf

;===============================================================================
;
; Description:          _GetDay
; Parameter(s):     \$iDay - Day (1-31)
;                   \$iMonth - Month (1-12)
;                   \$iYear - Year (1900-infinite)
; Requirement:          <Date.au3>
; Return Value(s):  The return value is 0 to 6.
;                       0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday
; Author(s):            Joke758
; Note(s):              \$iYear must be higher than 1899
;
;===============================================================================
Func _GetDay ( \$iDay, \$iMonth, \$iYear)
Local \$aDayValue = StringSplit ( "1,4,4,0,2,5,0,3,6,1,4,6", "," )
Select
Case __DateIsValidEx(\$iYear&"/"&\$iMonth&"/"&\$iDay) and \$iYear >= 1900
\$i_Year = StringTrimRight ( \$iYear, 2 )-19&StringRight ( \$iYear, 2 )
\$iSum = Mod ( Mod ( Mod ( Mod ( Int ( \$i_Year/12 )+Mod ( \$i_Year, 12 ), 7 ) + Int ( Mod ( \$i_Year, 12 ) / 4 ), 7 ) + \$aDayValue[\$iMonth], 7 ) + \$iDay, 7 )
If _DateIsLeapYear ( \$iYear ) = 1 and \$iMonth <= 2 and \$iDay <= 29 Then \$iSum = \$iSum-1
If \$iSum <= 0 Then \$iSum = \$iSum + 7
Return \$iSum-1
Case Else
SetError ( 1 )
Return -1
EndSelect
EndFunc

Func __DateIsValidEx(\$sDate)
Local \$asDatePart[4]
Local \$asTimePart[4]
Local \$iNumDays
\$iNumDays = "31,28,31,30,31,30,31,31,30,31,30,31"
\$iNumDays = StringSplit(\$iNumDays, ",")
; split the date and time into arrays
_DateTimeSplit(\$sDate, \$asDatePart, \$asTimePart)
If \$asDatePart[0] <> 3 Then
Return (0)
EndIf
; verify valid input date values
If _DateIsLeapYear(\$asDatePart[1]) Then \$iNumDays[2] = 29
If \$asDatePart[2] < 1 Or \$asDatePart[2] > 12 Then Return (0)
If \$asDatePart[3] < 1 Or \$asDatePart[3] > \$iNumDays[\$asDatePart[2]] Then Return (0)
Return (1)
EndFunc```

[u]My Programs:[/u]Word Search Creator - Make your own Word SearchShortHand - Hide a secret message in a jpg fileHex Editor - Edit your Binary fileIncrease file size - Increase the size of any filesArt Generator - A program that generate random picture[u]My Functions:[/u]16-Bits Hash - My Hash function similar to MD5Probabilities - My probabilities function (factorial, permuation, combination)_GetDate() - Convert a date to a day of the week_Base(), _Dec() - Convert a number in any base (bin, oct, hex, dec). Create your own!

##### Share on other sites

it is quintessence,but i don't understand arithmetic!

##### Share on other sites

Anything wrong with _DateToDayOfWeek () and _DateDayOfWeek() ?

Live for the present,
Dream of the future,
Learn from the past.

##### Share on other sites

Oops, I didn't see them

[u]My Programs:[/u]Word Search Creator - Make your own Word SearchShortHand - Hide a secret message in a jpg fileHex Editor - Edit your Binary fileIncrease file size - Increase the size of any filesArt Generator - A program that generate random picture[u]My Functions:[/u]16-Bits Hash - My Hash function similar to MD5Probabilities - My probabilities function (factorial, permuation, combination)_GetDate() - Convert a date to a day of the week_Base(), _Dec() - Convert a number in any base (bin, oct, hex, dec). Create your own!

## Create an account

Register a new account

×

• Wiki

• Back

• #### Beta

• Git
• FAQ
• Our Picks
×
• Create New...