c语言时间戳转换日期格式_c语言时间转换为时间戳

c语言时间戳转换日期格式_c语言时间转换为时间戳时间戳是计算机中记录时间的一种方法,某一时刻的时间戳指的是从1970年1月1日0时0分0秒开始到该时刻总共过了多少秒。请编程任意输入一个整数,然后计算出它表示的是哪一天哪一刻。问题分析输入:任意整数n(0≤n≤2147483647),表示从1970年1月1日0时0分0秒到该时刻过了多少秒。输出:y年m月d日H时M分S秒,y、m…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

时间戳是计算机中记录时间的一种方法,某一时刻的时间戳指的是从 1970 年 1 月 1 日 0 时 0 分 0 秒开始到该时刻总共过了多少秒。请编程任意输入一个整数,然后计算出它表示的是哪一天哪一刻。

问题分析

输入:任意整数 n(0≤n≤2147483647),表示从 1970 年 1 月 1 日 0 时 0 分 0 秒到该时刻过了多少秒。

输出:y 年 m 月 d 日 H 时 M 分 S 秒,y、m、d、H、M、S 为六个整数。

假设一年 12 个月,每个月有 30 天,那么:

一天的时间(秒)为:days = 24×60×60 = 86400 秒;

一个月的时间(秒)为:months = days×30 = 2592000 秒;

一年的时间(秒)为:years = months×12 = 31104000 秒;

2147483647=231-1,它是 32 位操作系统能够处理的最大的整型数。根据 n 的取值范围,定义变量 n 的数据类型应该为 long int 型。

n 除以一年的时间(秒)years 的商加上 1970 就是具体年份 y,余数再除以一月的时间(秒)months 的商加 1 就是月份 m,再次得到的余数除以一天的时间(秒)days 的商加 1 就是日期 d,第三次得到的余数除以 3600 的商就是小时数 H,第四次得到的余数除以 60 的商就是分 M 和余数就是秒 S。

y = n / years + 1970

m = n % years / months + 1

d = n % years % months / days + 1

H = n % years % months % days / 3600

M = n % years % months % days % 3600 / 60

S = n % years % months % days % 3600 % 60

图 1 展示了普通时间值和时间戳(秒单位的值)相互转换的过程。

d5c18e40983ce6dbad33ea1f947468cb.gif

图 1:普通时间值和时间戳(秒单位的值)相互转换

算法描述

70e6839250dc1c9fbe5885505739fc01.gif

代码清单 1:C语言程序源代码(时间戳)

#include

#include

int main( )

{

system(“color 70”);

long days = 24 * 60 * 60;

long months = days * 30;

long years = months * 12;

long n,y,m,d,HH,MM,SS;

printf(“输入整数 n(0-2147483647):”);

scanf(“%ld”,&n);

y = n / years + 1970;

m = n % years / months + 1;

d = n % years % months / days + 1;

HH = n % years % months % days / 3600;

MM = n % years % months % days % 3600 / 60;

SS = n % years % months % days % 3600 % 60;

printf(“\n%d年%d月%d日%d时%d分%d秒\n”,y,m,d,HH,MM,SS);

system(“pause”);

return 0;

}

运行结果为:

输入整数 n(0-2147483647):4464502

1970年2月22日16时8分22秒

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188115.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • java 创建新文件_Java创建新文件[通俗易懂]

    java 创建新文件_Java创建新文件[通俗易懂]创建文件是一种非常常见的IO操作,在这一小节中我们将学习如何在java中创建文件的几个方法。在java中创建文件有三种流行的方法,下面将一个一个地来学习。方法一:使用File.createNewFile()方法java.io.File类可用于在Java中创建新文件。当初始化File对象时,需要提供一个文件名,然后调用createNewFile()方法来在Java中创建新文件。如果创建新文件成功,则…

  • 燃尽图_敏捷燃尽图

    燃尽图_敏捷燃尽图燃尽图(burndownchart)是在项目完成之前,对需要完成的工作的一种可视化表示。燃尽图有一个Y轴(工作)和X轴(时间)。理想情况下,该图表是一个向下的曲线,随着剩余工作的完成,“烧尽”至零

  • 阿里云的云服务器ECS和云虚拟主机有何区别?

    阿里云的云服务器ECS和云虚拟主机有何区别?阿里云的云服务器和云虚拟主机的共同点是都可以用来搭建网站,云服务器和云虚拟主机有很多相同之处,也有很多不同之处,云吞铺子从功能、价格、应用场景及优势几方面详细说明阿里云的云服务器和云虚拟主机之间的区别:一:云服务器ECS和虚拟主机的区别云服务器:虚拟的一台服务器,除了硬件摸不着外其他的功能和服务器一样,我们可以狭义的将云服务器ECS就看做一台物理服务器,ECS让用户拥有更多权限,用户可以在ECS上安装各种扩展插件实现各种功能,ECS需要有专业技术人员来维护。适合有技术实力、懂得服务器配置及维护的用户

  • spring boot 集成redis版本说明

    springboot集成redis版本说明官网文档:https://docs.spring.io/spring-boot/docs/2.0.2.RELEASE/reference/htmlsingle/当前版本是2.0.3(目前官网的当前版本也是2.0.3{2018-06-25})1.5.X版本redis依赖如下:<dependency><gro…

  • 五大常用算法之一:分治算法

    一、基本概念在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求

    2021年12月25日
  • vscode快捷键与使用配置[通俗易懂]

    vscode快捷键与使用配置[通俗易懂]简化记忆F1F11Ctrl+P?!:@#Ctrl+NCtrl+Shift+NCtrl+Shift+WCtrl+TabCtrl+\Ctrl+[、Ctrl+]Shift+Alt+F,或Ctrl+Shift+P后输入formatcodeAlt+Up或Alt+Down选中按TAB右移,按SHIFT+TAB左移Ctrl+F主命令框F1或Ctrl+Shift+P:打开命令面板。在打开的输入框内,可以输入任何命令,例如:按一下Backspace会

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号