Monday, November 08, 2010 at 12:02 AM.
system.verbs.builtins.date.viewDate
on viewDate (when, flShortDayOfWeek=false) { <<Changes <<9/12/10; 9:28:43 AM by DW <<Add new optional parameter, flShortDayOfWeek. If true, only return the first three characters of the day of the week: Mon, Tue, Wed, Thu, Fri, Sat, Sun. <<9/11/10; 11:46:53 PM by DW <<Return a version of the date suitable for displaying. If it's within the last week, return the day of the week. If it's today, return the time. Otherwise return a short version of the date. local (now = clock.now ()); when = date (when); if date.sameday (when, now) { return (date.timestring (when, false))} else { local (oneweek = 60 * 60 * 24 * 7); local (cutoff = now - oneweek); if when > cutoff { //within the last week local (s = date.dayOfWeekToString (date.dayOfWeek (when))); if flShortDayOfWeek { s = string.mid (s, 1, 3)}; return (s)} else { return (date.shortstring (when))}}}; bundle { //test code local (when = clock.now (), i); for i = 1 to 6 { when = date.yesterday (when)}; when = date ("9/10/2010; 5:34:32 AM"); dialog.alert (viewDate (when))}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.