[Go] 用Go语言计算一个人的年龄,生肖,星座 →→→→→进入此内容的聊天室

来自 , 2020-08-05, 写在 Go, 查看 113 次.
URL http://www.code666.cn/view/11f9e78e
  1. package main
  2.  
  3. import (
  4.   "fmt"
  5.   "time"
  6. )
  7.  
  8. func GetTimeFromStrDate(date string) (year, month, day int) {
  9.         const shortForm = "2006-01-02"
  10.         d, err := time.Parse(shortForm, date)
  11.         if err != nil {
  12.                 fmt.Println("出生日期解析错误!")
  13.                 return 0,0,0
  14.         }
  15.         year = d.Year()
  16.         month = int(d.Month())
  17.         day = d.Day()
  18.         return
  19. }
  20.  
  21. func GetZodiac(year int) (zodiac string) {
  22.         if year <= 0 {
  23.                 zodiac = "-1"
  24.         }
  25.         start := 1901
  26.         x := (start - year) % 12
  27.         if x == 1 || x == -11 {
  28.                 zodiac = "鼠"
  29.         }
  30.         if x == 0 {
  31.                 zodiac = "牛"
  32.         }
  33.         if x == 11 || x == -1 {
  34.                 zodiac = "虎"
  35.         }
  36.         if x == 10 || x == -2 {
  37.                 zodiac = "兔"
  38.         }
  39.         if x == 9 || x == -3 {
  40.                 zodiac = "龙"
  41.         }
  42.         if x == 8 || x == -4 {
  43.                 zodiac = "蛇"
  44.         }
  45.         if x == 7 || x == -5 {
  46.                 zodiac = "马"
  47.         }
  48.         if x == 6 || x == -6 {
  49.                 zodiac = "羊"
  50.         }
  51.         if x == 5 || x == -7 {
  52.                 zodiac = "猴"
  53.         }
  54.         if x == 4 || x == -8 {
  55.                 zodiac = "鸡"
  56.         }
  57.         if x == 3 || x == -9 {
  58.                 zodiac = "狗"
  59.         }
  60.         if x == 2 || x == -10 {
  61.                 zodiac = "猪"
  62.         }
  63.         return
  64. }
  65.  
  66. func GetAge(year int) (age int) {
  67.         if year <= 0 {
  68.                 age = -1
  69.         }
  70.         nowyear := time.Now().Year()
  71.         age = nowyear - year
  72.         return
  73. }
  74.  
  75. func GetConstellation(month, day int) (star string) {
  76.         fmt.Println("hello")
  77.         if month <= 0 || month >= 13 {
  78.                 star = "-1"
  79.         }
  80.         if day <= 0 || day >= 32 {
  81.                 star = "-1"
  82.         }
  83.         if (month == 1 && day >= 20) || (month == 2 && day <= 18) {
  84.                 star = "水瓶座"
  85.         }
  86.         if (month == 2 && day >= 19) || (month == 3 && day <= 20) {
  87.                 star = "双鱼座"
  88.         }
  89.         if (month == 3 && day >= 21) || (month == 4 && day <= 19) {
  90.                 star = "白羊座"
  91.         }
  92.         if (month == 4 && day >= 20) || (month == 5 && day <= 20) {
  93.                 star = "金牛座"
  94.         }
  95.         if (month == 5 && day >= 21) || (month == 6 && day <= 21) {
  96.                 star = "双子座"
  97.         }
  98.         if (month == 6 && day >= 22) || (month == 7 && day <= 22) {
  99.                 star = "巨蟹座"
  100.         }
  101.         if (month == 7 && day >= 23) || (month == 8 && day <= 22) {
  102.                 star = "狮子座"
  103.         }
  104.         if (month == 8 && day >= 23) || (month == 9 && day <= 22) {
  105.                 star = "处女座"
  106.         }
  107.         if (month == 9 && day >= 23) || (month == 10 && day <= 22) {
  108.                 star = "天秤座"
  109.         }
  110.         if (month == 10 && day >= 23) || (month == 11 && day <= 21) {
  111.                 star = "天蝎座"
  112.         }
  113.         if (month == 11 && day >= 22) || (month == 12 && day <= 21) {
  114.                 star = "射手座"
  115.         }
  116.         if (month == 12 && day >= 22) || (month == 1 && day <= 19) {
  117.                 star = "魔蝎座"
  118.         }
  119.  
  120.         return star
  121. }
  122.  
  123. func main() {
  124.         y, m, d := GetTimeFromStrDate("1986-06-18")
  125.         fmt.Println(GetAge(y))
  126.         fmt.Println(GetConstellation(m, d))
  127.         fmt.Println(GetZodiac(y))
  128. }
  129. //go/8882

回复 "用Go语言计算一个人的年龄,生肖,星座"

这儿你可以回复上面这条便签

captcha