要想使用C语言来获取当前系统的时间,办法如下:

  需要提前准备的工作:

  

 #include <stdio.h>
#include <time.h>
#include <stdlib.h> int main()
{
time_t rawtime; //时间类型,由time.h中定义
struct tm *timeinfo; //关于时间的结构体类型,在time.h中定义
timeinfo = (struct tm*)malloc(sizeof(struct tm));
time(&rawtime); //获取时间,以秒计,从1970年1月1日00:00:00起算,存于rawtime
timeinfo = localtime(&rawtime); //转换为当地时间,存在结构体 struct tm中
return ;
}

   1.struct tm 时间结构的详细说明,在time.h 定义如下:

 
 #ifndef _TM_DEFINED

   struct tm {

   int tm_sec; /* 秒–取值区间为[0,59] */

   int tm_min; /* 分 - 取值区间为[0,59] */

   int tm_hour; /* 时 - 取值区间为[0,23] */

   int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */

   int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */

   int tm_year; /* 年份,其值从1900开始 */

   int tm_wday; /* 星期–取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */

   int tm_yday; /* 从每年的1月1日开始的天数–取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */

   int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/

   long int tm_gmtoff; /*指定了日期变更线东面时区中UTC东部时区正秒数或UTC西部时区的负秒数*/

   const char *tm_zone; /*当前时区的名字(与环境变量TZ有关)*/

   };

   #define _TM_DEFINED

   #endif

   //ANSI C标准称使用tm结构的这种时间表示为分解时间(broken-down time)。
 

  如果要以自定义的输出格式输出,可以直接操纵struct tm类型中的数据,但要注意的是:

  struct tm中的年份要加1900,即timeinfo->tm_year + 1900,因为系统中的时间是从1900年算起的。

  struct tm中的月份要加1,即timeinfo->tm_mon + 1,因为月份的计数是从0开始的

  3.有个问题在于,使用struct tm的指针时,并没有为这个结构体分配空间,而只是为一个指向这个结构体的指针分配了栈空间。这样容易导致在内存中野蛮地占  用其他有用的数据空间。所以,我的想法是,最好加上一句:

  timeinfo = (struct tm *)malloc(sizeof(struct tm));

 

  

  

使用C语言获取当前系统的时间的更多相关文章

  1. C语言获取Linux系统精确时间

    gettimeofday()函数的使用方法 1.函数原型 #include <sys/time.h> int gettimeofday(struct timeval *tv, struct ...

  2. C语言获取系统当前时间

    C语言获取系统当前时间 time_t -- 时间类型 struct tm -- 时间结构 time(&now)函数获取当前时间距1970年1月1日的秒数,以秒计数单位. localtime ( ...

  3. C语言获取系统当前时间转化成时间字符串

    因为保存的文件须要加上保存的时间,所以须要一个函数来将系统当前时间获取出来,同一时候转换成时间字符串.详细的时间代码例如以下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  4. Linux查看系统开机时间

    有时候需要查看Linux系统运行了多久时间,此时需要知道上次开机启动时间: 有时候由于断电或供电故障突然停机,需要查看Linux开机时间/重启时间:  下面总结一些查看Linux开机关机时间的方法(非 ...

  5. 使用js实现显示系统当前时间并实现倒计时功能并触发模态框(遮罩)功能

    常常在我们的网页中需要倒计时来触发一些函数,例如遮罩等,在本项目中,通过使用jquery,bootstrap,实现了显示系统当前时间,并且实现了倒计时的功能,倒计时实现后将会弹出模态框(遮罩层).模态 ...

  6. 使用date类和format类对系统当前时间进行格式化显示

    一:Date------------String 代码1:(代码二对显示出来的时间格式进行优化) package DateDemo; import java.text.SimpleDateFormat ...

  7. log4j向oracle中插入一条系统当前时间的sql语句

    配置log4j,要向oracle插入一条系统当前时间的sql语句,按网上查找的总是出现各种各样的报错,最后总结出的写法是: ### shezhi### log4j.rootLogger = debug ...

  8. 系统空闲时间判断&命名验证

    一.系统空闲时间判断 需要一个自动登录注销的功能,当鼠标移动和或者键盘输入的时候认为当前用户在线,否则过了设置时间就自动退出.好在前辈们留下了这样的一个类: MouseKeyBoardOperate: ...

  9. 在 Xen 虚拟机下修改系统当前时间

    在 Xen 虚拟机下修改系统当前时间 Xen 虚拟机默认不允许不同的虚拟机使用不同的系统时间,因此所有虚拟机的系统时间都会同宿主机的系统时间严格同步,用 date 命令修改虚拟机系统时间时虽然提示成功 ...

随机推荐

  1. 推荐一个markdown编辑器-MarkdownPad

    MarkdownPad - The Markdown Editor for Windows是一个很不错的windows下的markdown的编辑器,对于我这种总是记不住各种语法的人来说,非常方便. 免 ...

  2. 关于session的实现:cookie与url重写

    本文讨论的语境是java EE servlet. 我们都知道session的实现主要两种方式:cookie与url重写,而cookie是首选(默认)的方式,因为各种现代浏览器都默认开通cookie功能 ...

  3. C# 该行已经属于还有一个表 的解决方法

    产生错误的代码: DataTable dtContract_src = Oper.GetDataTable("select * from T_Contract where ProjectID ...

  4. DM8168 GPIO驱动与測试程序

    本次測试针对GPIO1进行,挑选了GP1[31],引脚的复用默认的就是GPIO 还是老规矩,贴上driver.c,Makefile,test.c: dm8168_gpio.c: #include &l ...

  5. docker-compose 工具安装

    centos 7 安装 之前测试过相关安装方法 pip python 安装不行 还是用下面这个办法搞定 curl -L https://github.com/docker/compose/releas ...

  6. 只有在配置文件中或 Page 说明会 enableSessionState 至 true 时刻,能够使用会话状态。另外,还要确保应用程序配置 // 段包含 System.Web.SessionSta

    首先,弄清楚我们的目的,我的目标是验证用户登录.那是,Session["userName"]!=null 在ok该 起初,我是这么写的,结果给出,提示如果上述错误标题,在调查的很长 ...

  7. Java 国际化 语言切换

      Java国际化 我们使用java.lang.Locale来构造Java国际化的情境. java.lang.Locale代表特定的地理.政治和文化.需要Locale来执行其任务的操作叫语言环境敏感的 ...

  8. 【Android】数据的应用-使用sharedpreferences存储数据

    Android应用开发SharedPreferences存储数据的使用方法 SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的 ...

  9. JavaScript 数据类型转换(显式与隐式)

    一.数据类型 JS中有5中简单数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number.String.还有一种复杂数据类型------Object,Object本质是 ...

  10. excel中VBA对多个文件的操作

    添加引用 "Scripting.FileSystemObject" (Microsoft Scripting Runtime) '用于操作文件.目录 Sub 数据整理部分() ' ...