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…


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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 十以内的加法游戏_10以内加减法游戏

    十以内的加法游戏_10以内加减法游戏现在市面上有非常多的益智类小游戏,其中就有很多是关于速算问题的,我们可以通过scratch编程来实现一个更加具有画面感的速算类小游戏,来帮助有计算问题的小朋友通过游戏来进行更好的心算速算练习。现在的这一款10以内的加法速算游戏,比较适合刚接触计算年龄比较小的孩子。1:首先我们需要添加几个有趣的角色。2,添加背景并设置好需要的变量。3,利用“询问”指令来实现出题的效果,并通过判断”回答”是…

    2022年11月1日
  • c++实现stack_c语言输出栈中所有元素

    c++实现stack_c语言输出栈中所有元素栈是数据结构中较为简单的结构体,是一种操作收到限制的线性表.但简单不代表没用,毕竟数组还贼简单呢.谁敢说数组没用?栈栈的理论栈是一个先进后出的结构,类似于堆盘子,先放到地上的盘子最后被取走(默认只能取走一个盘子)栈其实就是操作受限的线性表,只有一个口,每一次操作时,这个口可以当出口也可以当入口.例如:水桶,注入水时,水桶的头当做入口,倒水时,水桶的头当做出口栈的图解.在图解之前,先举一个例…

    2022年9月6日
  • git放弃修改&放弃增加文件

    git放弃修改&放弃增加文件

    2022年2月10日
  • SpringSecurity(十七)——CSRF

    SpringSecurity(十七)——CSRF

    2020年11月12日
  • 记录一次C#使用JWT单点登录

    记录一次C#使用JWT单点登录好久没更新了,最近确实比较忙,现在弄完后,第一时间来记录一下最近学到的一些东西JWT单点登录一、简单介绍 JWT全称是JSONWebToken,是一种是目前最流行的跨域身份验证解决方案。为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,该token也可直接被用于认证,也可被加.

    2022年5月20日
  • 用 Java3D 写游戏

    用 Java3D 写游戏2009-03-2413:26:51|  分类: Java3D先介绍下相关的技术吧Java3D 作为SUN公司较早推出的一项3D技术,是一种高度封装的API,构建在OpenGL和Direct3D之上,可以说是最有名的Java的3D技术。由于种种原因(A

    2022年5月25日

发表回复

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

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