Back to Leetcode Go

1185. Day of the Week

website/content.en/ChapterFour/1100~1199/1185.Day-of-the-Week.md

1.7.971.5 KB
Original Source

1185. Day of the Week

Problem

Given a date, return the corresponding day of the week for that date.

The input is given as three integers representing the daymonth and year respectively.

Return the answer as one of the following values {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}.

Example 1:

Input: day = 31, month = 8, year = 2019
Output: "Saturday"

Example 2:

Input: day = 18, month = 7, year = 1999
Output: "Sunday"

Example 3:

Input: day = 15, month = 8, year = 1993
Output: "Sunday"

Constraints:

  • The given dates are valid dates between the years 1971 and 2100.

Problem Summary

Given a date, design an algorithm to determine which day of the week it corresponds to. The input consists of three integers: day, month, and year, representing the day, month, and year respectively.

The result you return must be one of these values: {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}.

Note:

  • The given date is guaranteed to be a valid date between 1971 and 2100.

Solution Approach

  • Given a date, calculate which day of the week it is.
  • Simple problem; just calculate according to common sense.

Code

go

package leetcode

import "time"

func dayOfTheWeek(day int, month int, year int) string {
	return time.Date(year, time.Month(month), day, 0, 0, 0, 0, time.Local).Weekday().String()
}