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)
上一篇 2022年10月10日 上午11:00
下一篇 2022年10月10日 上午11:00


相关推荐

  • 详解 误差反向传播算法推导

    详解 误差反向传播算法推导误差反向传播算法误差反向传播算法(backpropagation,简称BP模型)是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。误差反向传播算法系统的解决了多层神经网络隐含层连接权学习问题,人们把采用这种算法进行误差校正的多层前馈网络称为BP网。BP神经网络具有任意复杂的模式分类能力和…

    2022年6月10日
    29
  • SIkuli使用

    SIkuli使用SIkuli 使用 1 简介 2sikuli 实际用途 3 下载地址 4 安装步骤 1 简介 SikuliX 通过定位图像和键盘鼠标来操作 GUI 图形化用户界面 能很好的实现 flash 和桌面类应用的自动化 目前暂不支持移动端的使用 2sikuli 实际用途 1 Sikuli 可以用来自动化 Flash 对象或 Flash 网站 2 它可以简单地与 Selenium 或其他工具集成 3 使用 Sikuli 我们可以自动化桌面应用程

    2026年3月20日
    2
  • 内存泄漏以及常见的解决方法

    内存泄漏以及常见的解决方法

    2021年12月3日
    39
  • hive udf开发超详细手把手教程

    hive udf开发超详细手把手教程关于 hive 的 udf 介绍 就不多啰嗦了 网上的教程一抓一大把 也可以上 apache 的官网去查阅相关资料 我就省了翻译的时间了 重点给大家带来干货 手把手教会你怎样开发一个 udf 函数 已经如何部署到服务器上的 hive 环境中运行 用最简单的话来说 就是教大家怎么让自己开发的 udf 跑起来 项目需求做数据挖掘项目中 常见的需求之一就是分析节假日订单跟平时订单的区别 于是 我们需要统计节假日订单的分布情况

    2026年3月20日
    2
  • 迭代器 Iterator 是什么

    迭代器 Iterator 是什么迭代器 Iterator 是什么 首先说一下迭代器模式 它是 Java 中常用的设计模式之一 用于顺序访问集合对象的元素 无需知道集合对象的底层实现 Iterator 是可以遍历集合的对象 为各种容器提供了公共的操作接口 隔离对容器的遍历操作和底层实现 从而解耦 缺点是增加新的集合类需要对应增加新的迭代器类 迭代器类与集合类成对增加 Java 面试题与答案 整理推荐

    2026年3月26日
    2
  • touchesBegan等方法不执行

    touchesBegan等方法不执行今天写了一个自定义控件继承于UILabel,想要在上面添加点击事件,用touchesBegan等一系列方法实现,程序跑起来自信满满,突然发现程序不执行该方法,找了半天,了解到貌似touch事件只能被UIView捕获,然后把label的用户交互开启了(发现UIImageView和UILabel的交互默认是关闭的),就能让下面的view捕获到touch事件了

    2022年7月25日
    9

发表回复

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

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