golang小案例 —— 1970 年1月1日到现在的时间秒数计算出现在的日期时间
根据1970 年1月1日到现在的时间秒数计算出CHINA现在的日期时间(考虑闰年,平年,时区等因素)
package mainimport ("time""fmt"
)func main() {ret :=time.Now().Unix()var days = int(ret / ( 24 * 3600 ))ret = ret % ( 24 * 3600 )var hours =int( ret / 3600 + 8 )ret = ret % 3600var minute = int( ret / 60 )var second = int( ret % 60 )var year,months,day= getYMD( days )fmt.Printf("CHINA现在的时间是:%d年:%d月:%d日:%d点:%d分:%d秒",year,months,day,hours,minute,second)}
func getYMD(days int)(year int,months int,day int ) {var yuefen = [12]int{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}var yuefen1 = [12]int{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}year = 1970months = 1day = 1var temp intvar i intfor i = days; i > 367; i-- {if year%4 == 0 && year%100 != 0 || year%400 == 0 {year = year + 1i = i - 366+1} else {year = year + 1i = i - 365+1}}if year%4 == 0 && year%100 != 0 || year%400 == 0 {for q := 0; q < 12; q++ {temp += yuefen1[q]if temp > i {months = q + 1day = i-(temp - yuefen1[q])+1}break //跳出循环结束,返回值}}else{for q := 0; q < 12; q++ {temp=temp + yuefen[q]if temp > i {months=q+1day = i-(temp - yuefen[q])+1break //跳出循环结束,返回值}}}return
}
输出结果为:
golang小案例 —— 1970 年1月1日到现在的时间秒数计算出现在的日期时间相关推荐
- 1970年1月1日到某一时间的秒数换算
struct tm t; time_t t_start_day; t.tm_year=2018-1900; t.tm_mon=12; t.tm_mday=7; ...
- C/C++ 获取系统时间距 1970年1月1日00:00:00 的毫秒数
#include <stdio.h> #include <sys/timeb.h> typedef unsigned long long ulong;ulong current ...
- 日期类的时间从为什么是从1970年1月1日(格林威治时间)
I suspect that Java was born and raised on a UNIX system. UNIX considers the epoch (when did time be ...
- Java的时间为何从1970年1月1日开始
上周有同事问到几个和时间相关的问题,非常有意思,之前也没怎么想过,不知道大家是否想过这几个问题 在mac下发现System.nanoTime()在JDK7和JDK8下输出的值怎么完全不一样 Syste ...
- 为什么从1970年1月1日开始
2019独角兽企业重金招聘Python工程师标准>>> 1.最懒的解释 很多编程语言起源于UNIX系统,而UNIX系统认为1970年1月1日0点是时间纪元,所以我们常说的UNIX时间 ...
- 为什么编程语言以及数据库要从1970年1月1日开始计算时
最初计算机操作系统是32位,而时间也是用32位表示. System.out.println(Integer.MAX_VALUE); 2147483647 Integer在JAVA内用32位表示,因此3 ...
- 漫话:为什么计算机起始时间是1970年1月1日?
这是我的第 203 期分享 作者 | 漫画编程 来源 | 漫画编程(ID:mhcoding) 分享 | Java中文社群(ID:javacn666) 问题复现 1970-01-01对于开发者来说都是不 ...
- 为什么计算机时间要从1970年1月1日开始算起
1970年1月1日... 为什么计算机时间和众多的编程语言的时间都要从1970年1月1日开始算起呢,时间计时起点到底为什么是1970年1月1号呢?我想大部分接触过计算机的人都知道,但大家几乎都没有想过 ...
- 漫画:为什么计算机起始时间是 1970 年 1 月 1 日?
作者 | 漫话编程 来源 | 漫话编程(ID:mhcoding) 问题复现 1970-01-01对于开发者来说都是不陌生的,有些系统对于时间的处理如果不够好的话,就可能把时间显示成1970-01-01 ...
最新文章
- 全球著名音乐抓轨软件EAC 设置详解
- 《麻省理工科技评论》发布2019年全球十大突破性技术!
- CSS3 美女动画相框
- iOS进阶之底层原理-线程与进程、gcd
- python基本语法语句-Python基本语句
- Docker镜像加速器配置
- python 文件编码的识别_【python】python编码方式,chardet编码识别库
- 今晚直播 | AAAI 2018论文解读:零资源机器翻译的最新进展
- delphi初级教程之delphi断点调试二
- python学习笔记(十五)标准库StringIO和BytesIO
- 求字符串里里面字符出现的次数和出现哪些不同的字符的字符串
- Oracle 通过字段名查询其所在的表
- c语言和c 编程的区别吗,C语言和C有什么区别呀?
- Redis如何高效实现点赞、取消点赞功能
- LeetCode(1029)——两地调度(JavaScript)
- Jeecg Boot 2.2.1 版本发布,基于SpringBoot的低代码平台
- 码农和程序员之间的5个关键差异
- 手机游戏公司设定的客户群体是大学生和农民工
- GitHub 上有哪些考研神器?
- 用矿卡P106升级tensorflow深度学习服务器