根据Unix时间戳计算时间,不分年月大小,每月三十天,每年按360天计算。开始时间1970/01/01 00:00:00,输入秒数,显示时间

思路一:进位,60秒进1分钟,60分进1小时,24小时进1天,30天进1月,12月进1年,依次建立循环
while (second > 60){second -= 60;minute += 1;if (minute == 60){minute = 0;hour += 1;if (hour == 24){hour = 0;day += 1;if (day == 31){day = 1;month += 1;if (month == 13){month = 1;year += 1;}}}}}

完整代码:

string CalculationDate(long long second)
{int year = 1970, month = 1, day = 1;int hour = 0, minute = 0;// 考虑使用计数思想,秒合法,则算出了最终时间while (second > 60){second -= 60;minute += 1;if (minute == 60){minute = 0;hour += 1;if (hour == 24){hour = 0;day += 1;if (day == 31){day = 1;month += 1;if (month == 13){month = 1;year += 1;}}}}}char buff[] = "1970/01/01 00:00:10";sprintf(buff,"%d/%02d/%02d %02d:%02d:%02d", year, month, day, hour, minute, second);return buff;
}
思路二:取整,一年多少秒,一月多少秒,以此类推,依次取年、月、日....
    long long minuteSecond = 60;long long hourSecond = 60*minuteSecond;long long daySecond = 24*hourSecond;long long monthSecond = 30*daySecond;long long yearSecond = 12*monthSecond;

完整代码:

string CalculationDate_OP(long long second)
{int year = 1970, month = 1, day = 1;int hour = 0, minute = 0;// 考虑直接去整的思想long long minuteSecond = 60;long long hourSecond = 60*minuteSecond;long long daySecond = 24*hourSecond;long long monthSecond = 30*daySecond;long long yearSecond = 12*monthSecond;if (second > yearSecond){int x = second/yearSecond;year += x;second -= x*yearSecond;}if (second > monthSecond){int x = second/monthSecond;month += x;second -= x*monthSecond;}if (second > daySecond){int x = second/daySecond;day += x;second -= x*daySecond;}if (second > hourSecond){int x = second/hourSecond;hour += x;second -= x*hourSecond;}if (second > minuteSecond){int x = second/minuteSecond;minute += x;second -= x*minuteSecond;}char buff[] = "1970/01/01 00:00:10";sprintf(buff,"%d/%02d/%02d %02d:%02d:%02d", year, month, day, hour, minute, second);return buff;
}

测试:

void test()
{cout<< CalculationDate(10)<<endl;cout<< CalculationDate(12345678)<<endl;cout<< CalculationDate_OP(10)<<endl;cout<< CalculationDate_OP(12345678)<<endl;
}

面试题:根据Unix时间戳计算时间相关推荐

  1. Unix时间戳 POSIX时间 Unix时间

    时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数,也被称为 Unix 时间戳(Unix Timestamp). Unix时间戳(Unix timestamp),或称Uni ...

  2. php utc时间_PHP转换UNIX时间戳 UTC时间(TZ格式) 标准时间的方法 UNIX UTC GMT时间、本地时间互转...

    在PHP编程中经常会遇到各种不同格式的时间 比如: unix时间戳:1547740800 UTC时间:2019-1-18T00:00:00Z 标准时间:2019-1-18 00:00:00 以上这三个 ...

  3. php时间戳转utc时间格式,PHP转换UNIX时间戳 UTC时间(TZ格式) 标准时间的方法 UNIX UTC GMT时间、本地时间互转...

    在PHP编程中经常会遇到各种不同格式的时间 比如: unix时间戳:1547740800 UTC时间:2019-1-18T00:00:00Z 标准时间:2019-1-18 00:00:00 以上这三个 ...

  4. Unix时间戳转化时间

    因为项目中经常用到Unix时间戳的转化,今天就总结一下 PHP中 这种方式在PHP程序中完成转换,优点是无论是不是数据库中查询获得的数据都能转换,转换范围不受限制,缺点是占用PHP解析器的解析时间,速 ...

  5. js linux时间戳转时间格式,JS UNIX 时间戳与时间格式转换

    resolv.conf 1 这个文件由NetworkManager和network服务共同修改 关闭NetworkManager服务后,修改nameserver和hostname 重启network后 ...

  6. go 的时间与时间戳计算

    unix时间戳 unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数. go计算unix 时间戳 timestamp := time.Now().Unix() fmt.Prin ...

  7. linux元年时间搓,发布基于ANSI-C的RTC_Time库,利用UNIX时间戳格式,无中断实现万年历...

    基于STM32处理器 RTC只是个能靠电池维持运行的32位定时器over! 并不像实时时钟芯片,读出来就是年月日... 看过些网上的代码,有利用秒中断,在内存中维持一个年月日的日历. 我觉得,这种方法 ...

  8. 算法之unix时间戳和UTC时间(年月日)互换

    算法之unix时间戳和UTC时间(年月日)互换 author:onceday date:2022年6月8日 文章目录 算法之unix时间戳和UTC时间(年月日)互换 1.c标准库时间结构定义 2.自定 ...

  9. php 把unix时间转换成时间,php unix时间戳转换成时间的方法

    php unix时间戳转换成时间的方法:首先创建一个PHP示例文件:然后通过"date('Y-m-d H:i:s', 1547740800);"方式将指定的unix时间戳转换成时间 ...

最新文章

  1. OKRS如何进行目标的对齐?
  2. ETL安装前的准备 - 数据库创建方法
  3. 【SQL】查询DateTime类型的某一年数据
  4. android 安装应用程序apk安装不了
  5. Axios和Ajax处理后台返回文件流实现文件下载(图片和Excel)
  6. pytorch forward
  7. python修改图片尺寸
  8. 凝思系统激活序列号_安装凝思linux操作系统.doc
  9. 2021爱分析·云计算厂商全景报告
  10. 安装Pytorch后torch.cuda.is_available()返回False问题解决
  11. 运行成功但模拟器上没有程序
  12. 脱虚向实,数说故事联合中山大学正式启动“AI虚拟偶像”研究计划
  13. 抖音短视频数据抓取实战系列(〇)——前言
  14. 技术管理者的管理框架
  15. 组学数据上传(五):代谢组学数据
  16. Python 获取当前系统时间
  17. 如何实施开源协议,以及如何遵守开源协议的要求
  18. python能参加奥赛吗-【家长必读】孩子学编程能参加哪些高含金量的比赛?
  19. 修复Edge浏览器无法登录微软账户问题
  20. EasyUi之Dialog(对话框窗口)

热门文章

  1. Coolite动态加载CheckboxGroup,无法在后台中获取
  2. Laravel 使用 Aliyun OSS 云存储
  3. 树链剖分 讲解+模板+习题
  4. python 发送邮件的两种方式【终极篇】
  5. 机器学习:算法模型:决策树
  6. watir6.0 -selenium3新时代的watir-webdriver
  7. BestCoder Round #39 解题报告
  8. c# 连接各种数据库 Access、Server等
  9. ASP.NET MVC3 中的AJAX
  10. 阿里云服务器一分价钱一分货,切记!