关于Go语言中 计算两个时间差相隔有多少天

笔者咋GO的时间计算中也是经历了一些小坑,下面笔者说一下 如何计算任意一个时间点之间相距多久 -年 月 日 小时

笔者就以小时为例子 计算出任意两个时间点之间相隔多少天

	var Day_ int=0//记录玩家相距有多少天
	list := time.Unix(Time, 0)//time是一个int64型的时间戳 大家可以随便放一个值  这里我们放进去一个昨天的时间戳

	fmt.Println(list.Format("2006-01-02 15:04:05"),"=============之前的论剑时间小时是")
	fmt.Println(list.Month(),"==月份")//我们检查一下打印的时间 用于检测下面放下计算出是对的还是错的
	fmt.Println(list.Day(),"==天数")
	fmt.Println(list.Hour(),"==小时")



	now := time.Now()//取到当前的时间点
	subM := now.Sub(list)//通过这个方法我们可以将两个事件差值计算出来
	fmt.Println(int(subM.Hours()), "Hours")//我们打印一下相距的小时数


	fmt.Println(now.Format("2006-01-02 15:04:05"),"=============系统当前时间的论剑时间小时是")
	fmt.Println(now.Month(),"==月份")
	fmt.Println(now.Day(),"==天数")
	fmt.Println(now.Hour(),"==小时")

	//思路 通过减去 今天的时间 /24算出来之前有多少天
	//time_hour:=int(now.Hour())-int(list.Hour())
	time_hour:=int(subM.Hours()-int(new.now())---我们将相距的时间转化成int型的
	fmt.Println(time_hour, "相差的小时数")//打印出相距多久的小时数
	if( time_hour <=0   ){//如果玩家之前的差值与今天的时间相互减去  小于等于0 说明玩家现在是在今天

		Day_=0//所以天数相差0天

	}else {//如果差值大于0  说玩家的天数相差的起码有一天之前上

		Day_= time_hour/24//s算出来之间相差多少天
		if((time_hour%24)>0){//还有剩余的消失 说明是 还有一天 就那就加上
			Day_=Day_+1
		}

	}

 

最后算出来的 Day_ 的这个变量就是这两个时间相距多久的天数    通过这个可以算出来 年月日的相差时间

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值