c语言获得当前时间_c语言怎么表示时间

c语言获得当前时间_c语言怎么表示时间函数名:time()头文件:time.h函数原型:time_ttime(time_t*timer)功能:获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从UTC(CoordinatedUniversalTime)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。然后可以调用localtime将time_t…

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

Jetbrains全系列IDE稳定放心使用

函数名: time ()

头文件:time.h

函数原型:time_t time(time_t * timer)

功 能: 获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从UTC(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。然后可以调用localtime将time_t所表示的UTC时间转换为本地时间(我们是+8区,比UTC多8个小时)并转成struct tm类型,该类型的各数据成员分别表示年月日时分秒。

补充说明:time函数的原型也可以理解为 long time(long *tloc),因为在time.h这个头文件中time_t 实际上就是:

#ifndef _TIME_T_DEFINED

typedef long time_t; /* time value */

#define _TIME_T_DEFINED /* avoid multiple def’s of time_t */

#endif

time_t的数字是按UTC算的,跟时区无关,同一个时刻全球所有计算机上的time(NULL)返回值都相同。

用localtime转换成可显示的格式时才需要考虑时区。

实例:

#include #include int main(int argc, char **argv)

{

time_t tmpcal_ptr;

struct tm *tmp_ptr = NULL;

time(&tmpcal_ptr);

//tmpcal_ptr = time(NULL); 两种取值方法均可以

printf(“tmpcal_ptr=%d\n”, tmpcal_ptr);

tmp_ptr = gmtime(&tmpcal_ptr);

printf(“after gmtime, the time is:%d:%d:%d\n”, tmp_ptr->tm_hour, tmp_ptr->tm_min, tmp_ptr->tm_sec);

tmp_ptr = localtime(&tmpcal_ptr);

printf (“after localtime, the time is:%d.%d.%d “, (1900+tmp_ptr->tm_year), (1+tmp_ptr->tm_mon), tmp_ptr->tm_mday);

printf(“%d:%d:%d\n”, tmp_ptr->tm_hour, tmp_ptr->tm_min, tmp_ptr->tm_sec);

return 0;

}

运行结果:

tmpcal_ptr=1470831228

after gmtime, the time is:12:13:48

after localtime, the time is:2016.8.10 20:13:48

结论:

gmtime转出来的是0时区的标准时间;

localtime是将时区考虑在内了,转出的当前时区的时间。但是注意,有些嵌入式设备上被裁减过的系统,时区没有被设置好,导致二者转出来的时间都是0时区的。

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183610.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MyCCL特征码定位原理学习[通俗易懂]

    MyCCL特征码定位原理学习[通俗易懂]这段时间学习WEB方面的技术,遇到了木马免杀特征码定位的问题,这里做一下学习笔记。这里对MyCCL的分块原理做一下探究对指定文件生成10个切块 对指定的木马进行切块后,文件列表是这样的。 注意这里是从E0作为切块的偏移量。也就是说从E0的位置开始逐个切块,E0之前的内容是保留的。这样做的目的是保留一些PE必须的头文件信息。我们来通过亲身的探究来解析一下MyCCL的切块区

    2025年8月15日
    2
  • SQLyog详细使用教程[通俗易懂]

    SQLyog详细使用教程[通俗易懂]SQLyog详细使用教程

    2022年4月18日
    92
  • kali最新版安装教程_kali linux安卓版安装

    kali最新版安装教程_kali linux安卓版安装百度搜索kali,就是它了顺着箭头安装,建议使用网盘或者IDM下载,浏览器等待时间太长。下载后解压文件夹,然后打开VMware输入默认的虚拟机账号密码,均为kali选择第一个,然后我们的kali就安装好了。之后就是获取root最高权限方便我们使用kaili所有的工具点击openterminalhere输入sudopasswdroot回车,输入原来密码:kali设置新密码.之前的用户会被注销,登录新的账号回到桌面再次点击openterminalhere,可以看到我们的权限已

    2025年6月7日
    4
  • 数字电子技术课程设计八路抢答器报告_八路抢答器课程设计参考

    数字电子技术课程设计八路抢答器报告_八路抢答器课程设计参考数字电子技术课程设计-八路抢答器有错误请指正

    2022年10月20日
    1
  • Java中常用的设计模式

    Java中常用的设计模式文章转载借鉴:http://blog.csdn.net/zhangerqing一、什么是设计模式设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块…

    2022年7月8日
    19
  • 使用LoadRunner进行压力测试

    使用LoadRunner进行压力测试<!–转自https://www.cnblogs.com/xuzhaoyang/p/10919378.html–>loadrunner压力测试原理本质就是在loadrunner上模

    2022年7月1日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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