1154. Day of the Year

QUESTION:

Given a string date representing a Gregorian calendar date formatted as YYYY-MM-DD, return the day number of the year.

Example 1:

Input: date = “2019-01-09” Output: 9 Explanation: Given date is the 9th day of the year in 2019. Example 2:

Input: date = “2019-02-10” Output: 41 Example 3:

Input: date = “2003-03-01” Output: 60 Example 4:

Input: date = “2004-03-01” Output: 61

Constraints:

date.length == 10 date[4] == date[7] == ‘-‘, and all other date[i]’s are digits date represents a calendar date between Jan 1st, 1900 and Dec 31, 2019.

EXPLANATION:

也就不用造轮子了,直接使用utils中的工具类吧。但是得看一下源码的实现,毕竟jdk中的源码基本已经优化到没法再优化的了。

SOLUTION:

import java.util.*;
class Solution {
    public int dayOfYear(String date) {
        Calendar c = Calendar.getInstance();
        String[] splits = date.split("-");
        c.set(Calendar.YEAR, Integer.parseInt(splits[0]));
        c.set(Calendar.MONTH, Integer.parseInt(splits[1])-1);
        c.set(Calendar.DATE, Integer.parseInt(splits[2]));
        return c.get(Calendar.DAY_OF_YEAR); 
    }
}