31 lines
613 B
Go
31 lines
613 B
Go
package server
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
"time"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func getDate(c *gin.Context) (time.Time, error) {
|
|
var year, month int
|
|
yearString := c.Param("year")
|
|
monthString := c.Param("month")
|
|
if yearString == "" && monthString == "" {
|
|
return getFirstOfMonthTime(time.Now()), nil
|
|
}
|
|
|
|
year, err := strconv.Atoi(yearString)
|
|
if err != nil {
|
|
return time.Time{}, fmt.Errorf("parse year: %w", err)
|
|
}
|
|
|
|
month, err = strconv.Atoi(monthString)
|
|
if err != nil {
|
|
return time.Time{}, fmt.Errorf("parse month: %w", err)
|
|
}
|
|
|
|
return getFirstOfMonth(year, month, time.Now().Location()), nil
|
|
}
|