题解 | #计算日期到天数转换#
计算日期到天数转换
https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded
package main import ( "bufio" "fmt" "strconv" "strings" "os" ) func calculate(s string) int { // 初始化 map m := make(map[int]int, 0) for i:=1; i<=12; i++ { if i == 2 { m[i] = 28 } else if i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12 { m[i] = 31 } else { m[i] = 30 } } date := strings.Split(s, " ") year, _ := strconv.Atoi(date[0]) month, _ := strconv.Atoi(date[1]) day, _ := strconv.Atoi(date[2]) // 判断闰年 if year % 4 == 0 && year % 100 != 0 { m[2] = 29 } var days int for i:=1; i<month; i++ { days += m[i] } days += day return days } func main() { inputReader := bufio.NewReader(os.Stdin) line, _, _ := inputReader.ReadLine() date := string(line) fmt.Println(calculate(date)) }
// 本题输入一个带空格的字符串,所以采用:bufio.NewReader(os.Stdin)