当前位置:   article > 正文

用go写一个计算时间(摸鱼提醒信息)的小工具_摸鱼日历倒计时源码

摸鱼日历倒计时源码

几个函数分别实现相应的功能。

  • judgeMorningOrAfternoon 获取现在时间,判断现在是在上午还是下午
  • getDayDiffer 传入开始与结尾时间,计算相差时间
  • flushTime获取当前时间。隔1秒刷新一次
  • fishingReminder 传入春节时间。调用上述一些函数,打印相关信息
package main

import (
	"fmt"
	"os"
	"strconv"
	"time"
)

var time_now string
var time_sat string
var time_year string
var time_spring string

//判断上下午
func judgeMorningOrAfternoon(timeHour int) string {
	if timeHour >= 12 {
		return "下午好"
	} else {
		return "上午好"
	}
}

//获取相差时间
func getDayDiffer(start_time, end_time string) int64 {
	var day int64
	t1, err := time.ParseInLocation("2006-01-02 15:04:05", start_time, time.Local)
	t2, err := time.ParseInLocation("2006-01-02 15:04:05", end_time, time.Local)
	if err == nil && t1.Before(t2) {
		diff := t2.Unix() - t1.Unix()
		day = diff/3600/24 + 1
		return day
	}
		return day
}

func flushTime(){
	for i:=0;i<30;i++ {
		time_now := time.Now().Format("2006-01-02 15:04:05")
		fmt.Printf("----------------%s----------------\r", time_now)
		time.Sleep(time.Second)
	}
}

//打印信息
func fishingReminder(time_spring string) {
	/*传入春节时间*/
	time.Sleep(time.Second)
	time_now := time.Now().Format("2006-01-02 15:04:05")
	hour := time.Now().Hour()
	today := time.Now().Weekday()
	day := time.Saturday - today
	year := time.Now().Year() + 1
	string_year := strconv.Itoa(year)
	time_year := string_year + "-01-01 00:00:00"
	time_spring = "2022-02-01 00:00:00"
	fmt.Print("摸鱼办提醒您:\n")
	if today == time.Sunday || today == time.Saturday {
		fmt.Println("今天摸鱼办也休息哦")
		fmt.Println("周末愉快")
		time.Sleep(time.Second * 10)
		os.Exit(1)
	} else {
		fmt.Printf("%s,摸鱼人!\n",judgeMorningOrAfternoon(hour))
		fmt.Println("工作再累 一定不要忘记摸鱼哦!")
		fmt.Println("有事没事起身去茶水间去厕所去廊道走走")
		fmt.Println("别老在工位上坐着钱是老板的,但命是自己的")
		fmt.Printf("距离周末假期还有%d天\n", day)
		fmt.Printf("距离元旦假期还有%d天\n", getDayDiffer(time_now, time_year))
		fmt.Printf("距离春节假期还有%d天\n", getDayDiffer(time_now, time_spring))
		fmt.Println("上班是帮老板赚钱,摸鱼是赚老板的钱!\n最后,祝愿天下所有摸鱼人,都能愉快的渡过每一天.")
	}
}

func main() {
	fishingReminder(time_spring)
	go flushTime()
	time.Sleep(time.Second * 30)
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80

该离谱项目将持续迭代,开源地址
go build编译后,就可持续使用exe文件啦

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/1004877
推荐阅读
相关标签
  

闽ICP备14008679号