I'm trying to add two different date forms for more flexibility during testing, but I got this error below:
The error I received when I tried to parse dates --> 2021/10/21 12:15:35 parsing time "1982/01/08" as "2006-01-02": cannot parse "/01/08" as "-"
BD.go
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"os"
"time"
)
// Users struct which contains
// an array of users
type Users struct {
Users []User `json:"users"`
}
// User struct which contains a name
// a type and a list of social links
type User struct {
Firstname string `json:"fname"`
Secondname string `json:"lname"`
Date string `json:"date"`
}
func Birthday() {
// Open our jsonFile
jsonFile, err := os.Open("users.json")
// if we os.Open returns an error then handle it
if err != nil {
fmt.Println(err)
}
fmt.Println("Successfully Opened users.json")
// defer the closing of our jsonFile so that we can parse it later on
defer jsonFile.Close()
// read our opened xmlFile as a byte array.
byteValue, _ := ioutil.ReadAll(jsonFile)
// we initialize our Users array
var users Users
// we unmarshal our byteArray which contains our
// jsonFile's content into 'users' which we defined above
json.Unmarshal(byteValue, &users)
// we iterate through every user within our users array and
// print out the user Type, their name, and their facebook url
// as just an example
// write a function to list out the people whose birthday is today.
// var yr int
for i := 0; i < len(users.Users); i {
date, err := time.Parse("2006/01/02", users.Users[i].Date)
date1, _ := time.Parse("2006-01-02", users.Users[i].Date)
if err != nil {
fmt.Println(date)
} else if err != nil {
fmt.Println(date1)
} else {
log.Fatal(err)
}
// check if the date is a leap year, ex: 29 is not a leap year but 28th is !
if date.Day()%400 == 0 || (date.Day()%4 == 0 && date.Day()%100 != 0) {
fmt.Println("User First Name: " users.Users[i].Firstname)
fmt.Println("User Second Name: " users.Users[i].Secondname)
fmt.Println("User Date: " users.Users[i].Date)
fmt.Println(users.Users[i].Date, " is a Leap Year ✨✨✨ ")
} else if date1.Day()%400 == 0 || (date1.Day()%4 == 0 && date1.Day()%100 != 0) {
fmt.Println("User First Name: " users.Users[i].Firstname)
fmt.Println("User Second Name: " users.Users[i].Secondname)
fmt.Println("User Date: " users.Users[i].Date)
fmt.Println(users.Users[i].Date, " is a Leap Year ✨✨✨ ")
} else {
fmt.Println("User First Name: " users.Users[i].Firstname)
fmt.Println("User Second Name: " users.Users[i].Secondname)
fmt.Println("User Date: " users.Users[i].Date)
fmt.Println(users.Users[i].Date, " is Not a Leap Year