everseeker Posted July 1, 2010 Share Posted July 1, 2010 (edited) I am testing a couple forms at work. To do it, I need to generate a couple thousand date related fields: I got 90% of my work done, but I am stumped on 1 thing that I THOUGHT was going to be simple: Given a min and max age, return a random DOB in "01/01/1999" format Any thoughts? Edited July 2, 2010 by everseeker Everseeker Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted July 1, 2010 Moderators Share Posted July 1, 2010 everseeker,This gets you dates in YYYY/MM/DD - I leave the reformatting as an exercise for the student (as my old maths master used to say! ):#Include <Date.au3> $sYoung = "1990/01/01" $sOld = "1950/01/01" $iMaxDaysDiff = _DateDiff("D", $sOld, $sYoung) For $i = 1 To 10 $iRandom = Random(0, $iMaxDaysDiff, 1) $sRandomDate = _DateAdd("D", $iRandom, $sOld) ConsoleWrite($sRandomDate & @CRLF) NextI hope it does what you want. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
everseeker Posted July 1, 2010 Author Share Posted July 1, 2010 Hmmm... I was working along the lines of Func CalculateDOB($MinAge, $MaxAge) ;Takes Min and Max age into account and calculates a random age Return ("10/10/"&Random (_DateAdd( 'Y',-$MinAge, _NowCalcDate()), _DateAdd( 'Y',-$MaxAge, _NowCalcDate()),1)) EndFunc ;==>CalculateDOB But was failing... will look at your solution... (Thing is, I have a min and max AGE, not Date.... ) Everseeker Link to comment Share on other sites More sharing options...
everseeker Posted July 1, 2010 Author Share Posted July 1, 2010 Silly me... Looking at yours , I realized my order was off... Here's the correct one, if anyone else browsing needs it: Func CalculateDOB($MinAge, $MaxAge) ;Takes Min and Max age into account and calculates a random age $Mon = Random(1, 12, 1) If StringLen($Mon) = 1 Then $Mon = "0" & $Mon $day = Random(1, 28, 1) If StringLen($day) = 1 Then $day = "0" & $day Return ($Mon & "/" & $day & "/" & Random(_DateAdd('Y', -$MaxAge, _NowCalcDate()), _DateAdd('Y', -$MinAge, _NowCalcDate()), 1)) EndFunc ;==>CalculateDOB Everseeker Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now