             loggedAny = true
           else
             msg += " and *#{toTimeStr(report[header])} of #{kind} time*"
-      msg += " recorded for #{date}."
+      msg += " recorded for #{formattedDate}."
     if report.extra?.projects and report.extra?.projects?.length > 0
       msg += ' ('
       for project in report.extra.projects

       not report[headers.vacation] and
       not report[headers.sick] and
       not report[headers.unpaid]
      msg = "You haven\'t recorded any hours on #{date}."
    else
      if not report[headers.logged]
        msg = "You haven\'t recorded any paid work time"


  robot.respond /hours (.*)/i, id: 'time.hoursOnDate', userRequired: true, (res) ->
    user = Organization.getUserBySlackName res.message.user.name
    date = moment(res.match[1], "MM/DD/YYYY")
    if not date.isValid()
      Logger.log "hours: #{res.match[1]} is an invalid date"
      user.directMessage "#{res.match[1]} is not a valid date", Logger
      Logger.addReaction 'x', res.message
      return
    formattedDate = date.format('dddd, MMMM D, YYYY')

    attachments = []
    report = null
    headers = HEADERS.payrollreports

    startOfDay = moment(date).startOf('day')
    endOfDay = moment(date).endOf('day')
    report = user.toRawPayroll(startOfDay, endOfDay)
    for punch in user.punches
      if punch.date.isBefore(startOfDay) or punch.date.isAfter(endOfDay)
