比如获取当前年份:
     
    

   /* 获取当前系统时间 暂时不使用
        int iyear = 0;
int sysyear = 0;
time_t now;
struct tm *timenow;
time(&now);
timenow = localtime(&now);
sysyear = timenow->tm_year+1900;
*/

linux下获取系统时间的方法

可以用 localtime 函数分别获取年月日时分秒的数值。

Linux下获得系统时间的C语言的实现方法:

1. 可以用 localtime 函数分别获取年月日时分秒的数值。

#include<time.h>     //C语言的头文件

  #include<stdio.h>     //C语言的I/O

  void   main()

  {

  time_t   now;         //实例化time_t结构

  struct   tm     *timenow;         //实例化tm结构指针

  time(&now);

  //time函数读取现在的时间(国际标准时间非北京时间),然后传值给now

  timenow   =   localtime(&now);

  //localtime函数把从time取得的时间now换算成你电脑中的时间(就是你设置的地区)

  printf("Local   time   is   %s/n",asctime(timenow));

  //上句中asctime函数把时间转换成字符,通过printf()函数输出

  }

  注释:time_t是一个在time.h中定义好的结构体。而tm结构体的原形如下:

  struct   tm

  {

  int   tm_sec;//seconds   0-61

  int   tm_min;//minutes   1-59

  int   tm_hour;//hours   0-23

  int   tm_mday;//day   of   the   month   1-31

  int   tm_mon;//months   since   jan   0-11

  int   tm_year;//years   from   1900

  int   tm_wday;//days   since   Sunday,   0-6

  int   tm_yday;//days   since   Jan   1,   0-365

  int   tm_isdst;//Daylight   Saving   time   indicator

  };

   2. 对某些需要较高精准度的需求,Linux提供了gettimeofday()。

#include   <stdio.h>

  #include   <stdlib.h>

  #include   <sys/time.h>

  int  main(int argc,   char **argv)

  {

  struct   timeval   start,stop,diff;

  gettimeofday(&start,0);

  //做你要做的事...

  gettimeofday(&stop,0);

  tim_subtract(&diff,&start,&stop);
//不同的版本函数名称可能有些不一样
   //ubuntu 10.10 上的函数是timersub(&start,&stop,&diff);   
    printf("总计用时:%d毫秒/n",diff.tv_usec);

  }

  int tim_subtract(struct timeval *result, struct timeval *x, struct timeval *y)
  //int timersub( struct timeval *x, struct timeval *y,struct timeval *result)
  {   int nsec;   if ( x->tv_sec > y->tv_sec )   return -1;   if ((x->tv_sec==y->tv_sec) && (x->tv_usec>y->tv_usec))   return -1;   result->tv_sec = ( y->tv_sec-x->tv_sec );   result->tv_usec = ( y->tv_usec-x->tv_usec );   if (result->tv_usec<0)   {   result->tv_sec--;   result->tv_usec+=1000000;   }   return 0;   }

Linux C 获取系统时间信息的更多相关文章

  1. Linux C 语言 获取系统时间信息

    比如获取当前年份:        /* 获取当前系统时间 暂时不使用        int iyear = 0;        int sysyear = 0;        time_t now;  ...

  2. Linux sysinfo获取系统相关信息

    Linux中,可以用sysinfo来获取系统相关信息. #include <stdio.h> #include <stdlib.h> #include <errno.h& ...

  3. linux下获取系统时间 和 时间偏移

    获取linux时间  并计算时间偏移 void getSystemTimer(void){#if 0 char *wdate[]={"Sun","Mon",&q ...

  4. linux中获取系统时间的几种方法

    asctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime,localtime 表头文件 #include<time.h> 定义函数 char * asc ...

  5. linux中获取系统时间 gettimeofday函数

    linux的man页中对gettimeofday函数的说明中,有这样一个说明:   $ man gettimeofday DESCRIPTION     The functions gettimeof ...

  6. linux c 获取系统时间

    #include <time.h> main() { time_t timep; time (&timep); printf(“%s”,asctime(gmtime(&ti ...

  7. c++ 如何获取系统时间 - zjnig711的信息仓库 - 博客频道 - CSDN.NET

    c++ 如何获取系统时间 - zjnig711的信息仓库 - 博客频道 - CSDN.NET c++ 如何获取系统时间 分类: C/C++ 2008-05-08 22:15 14115人阅读 评论(5 ...

  8. Linux驱动中获取系统时间

    最近在做VoIP方面的驱动,总共有16个FXS口和FXO口依次初始化,耗用的时间较多.准备将其改为多线程,首先需要确定哪个环节消耗的时间多,这就需要获取系统时间. #include <linux ...

  9. Android获取系统时间方法的总结

    Android获取系统时间方法的方法有很多种,常用的有Calendar.Date.currentTimeMills等方法. (1)Calendar Calendar获取系统时间首先要用Calendar ...

随机推荐

  1. Idea闪退问题-内存不能给太大

    Idea闪退问题-内存不能给太大 学习了:https://blog.csdn.net/qq_17776287/article/details/77529455 学习了:https://blog.csd ...

  2. 工作总结 管理NuGet 程序包 中 找不到 npoi 怎么办

    在设置里 勾选 可用程序包源

  3. 用Emit技术替代反射

    之前在上篇博客说到用表达式来替代反射机制,可以获得较高的性能提升.这篇我们来说说用Emit技术来替代反射. System.Reflection.Emit命名空间类可用于动态发出Microsoft中间语 ...

  4. 2B01-View-Switcher

    Gallery和swithcer联合使用 /* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the ...

  5. 获取Oracle隐含參数信息

    Oracle数据库的初始化參数.主要来源于两个Oracle内部数据字典表:X$KSPPCV和X$KSPPI通常我们查询的V$Parameter视图或使用show parameter命令都是就来源于这两 ...

  6. Effective C++:条款22:将成员变量声明为private

    (一)为什么不採用public成员变量 (1)首先,从语法一致性考虑,客户唯一能訪问对象的方法就是通过成员函数,客户不必考虑是否该记住使用小括号(). (2)其次,使用函数能够让我们对成员变量的处理有 ...

  7. HDU 4925 Apple Tree (瞎搞)

    找到规律,各一个种一棵树.或者施肥.先施肥,先种树一样. Apple Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 2621 ...

  8. UML类图详解_关联关系_一对多

    对于一对多的示例,可以想象一个账户可以多次申购.在申购的时候没有固定上限,下限为0,那么就可以使用容器类(container class)来搞,最常见的就是vector了. 下面我们来看一个“一对多” ...

  9. 移动端数据库新王者:realm

    介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective-C和Swift)以及Android. 2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第 ...

  10. android studio中文乱码问题

    在build.gradle中加入代码: tasks.withType(JavaCompile) { options.encoding = "UTF-8" }