Calendar Functions
BlitzMax Forums/BlitzMax Programming/Calendar Functions
| ||
| Dear Technical Helpers & Saviours, I need to display a calender onscreen where I can specify the month & year and year and it displays the date's in the right row for the day and column for the week. So I guess a bit like the motorbike monthly ones on your office wall's but without the half naked woman. I need a way of working out what day of the week the 1st falls on, and I thought one way to do this would be to set the date to the 1st of whatever month i'm looking up, reading the day with =systemDate() and then setting the date back again. Unfortunately I cannot find a date command in BMax and I cannot execute a DOS prompt command because it is a multiplatform program (PC/MAC). Does anyone know of a good way to solve this, or am I reduced to calculating the date based upon iteration from a known date? Thank you :) |
| ||
| Currentdate$() will get the date then there's a complicated algo to work out the day. |
| ||
Zeller's congruence gives the day of the week.
Local dayName$[] = ["Sat","Sun","Mon","Tue","Wed","Thu","Fri"]
Print
Print "Day name for Dec 8, 2005 is " + dayName[ Zeller( 2005, 12, 8 ) ]
Function Zeller( year%, month%, day% ) ' January = 1, February = 2...
' Returns 0 for Saturday, 1 for Sunday...
If month < 3
month :+ 12
year :- 1
End If
century = year / 100
year = year - 100 * century
z = day + ( (month+1) * 26 ) / 10 + year + year/4 + century/4 - 2*century
z :Mod 7
If z < 0 Then z :+ 7
Return z
End Function
|
| ||
I was hoping that Bmax would have a calendar gadget built-in. As Purebasic shows it is possible to do this cross-platform. It looks like this:![]() I wonder if its possible to create a DLL (and the equivalent for Mac/Linux) from PB to do this. |
| ||
| Thank you so much for that snippet Floyd it should prove most useful :) |
