RosettaCodeData/Task/Date-format/CoffeeScript/date-format-2.coffee

27 lines
861 B
CoffeeScript

# JS does not have extensive formatting support out of the box. This code shows
# how you could create a date formatter object.
DateFormatter = ->
weekdays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
pad = (n) ->
if n < 10
"0" + n
else
n
brief: (date) ->
month = 1 + date.getMonth()
"#{date.getFullYear()}-#{pad month}-#{pad date.getDate()}"
verbose: (date) ->
weekday = weekdays[date.getDay()]
month = months[date.getMonth()]
day = date.getDate()
year = date.getFullYear();
"#{weekday}, #{month} #{day}, #{year}"
formatter = DateFormatter()
date = new Date()
console.log formatter.brief(date)
console.log formatter.verbose(date)