rldate

new topic     » topic index » view thread      » older message » newer message

--From Irv
--Actually, Ralf, you can avoid building that text string,
--by doing it as follows:

-- rldate.e------------

--From Art
--I probably missed a final chapter of rldate...but when I got to it, it
--needed a mod for 10th, 20th, 30th. Here is my fix. Sorry if it is a duplicate
--Art Adamson, euclid at isoc.net


constant
DAYS = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"},
MONTHS = {"January","February","March","April","May","June",
PF = {"st","nd","rd","th"}

global function rldate ()
  sequence date_seq, post
  integer flag
  date_seq = date ()
  date_seq[3] = date_seq[3] -- for testing + 16
  flag = remainder(date_seq[3],10)
  if (flag < 4 and flag > 0) then
    post = PF[flag]
  else post = PF[4]
  end if
  return sprintf("%s %s %d%s, %4d",
  {DAYS[date_seq[7]], MONTHS[date_seq[2]], date_seq[3],
  post, date_seq[1]+1900})
end function

-- end of rldate.e---------------

puts(1,rldate())

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu