zoukankan      html  css  js  c++  java
  • [置顶] 获取系统时间的方法--linux

    一、 localtime 函数获取(年/月/日/时/分/秒)数值。

    1、感性认识

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

    #include<stdio.h>     

    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 ",asctime(timenow));//asctime函数把时间转换成字符

    }


    2、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;//week days   since   Sunday,   0-6

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

    int   tm_isdst;//Daylight   Saving   time   indicator

    };


    二. gettimeofday函数(较高精准度的需求--Linux提供)

    [

    注释:

    下面例子是计算程序在执行操作过程中所使用时间

    ]

    #include   <stdio.h>

    #include   <stdlib.h>

    #include   <sys/time.h>

    int  main(int argc,   char **argv)

    {

    struct   tim   start,stop,diff;

    gettimeofday(&start,0);

    //做你要做的事...

    gettimeofday(&stop,0);

    tim_subtract(&diff,&start,&stop);

    printf("总计用时:%d毫秒 ",diff.tv_usec);

    }


    int tim_subtract(struct tim *result, struct tim *x, struct tim *y)

    {

    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下date命令获取当前时间与修改。

    date //显示当前日期 

    date -s //设置当前时间,只有root权限才能设置,其他只能查看。 

    date -s 20061010 //设置成20061010,这样会把具体时间设置成空00:00:00

    date -s 12:23:23 //设置具体时间,不会对日期做更改

    date -s “12:12:23 2006-10-10″ //设置全部时间



  • 相关阅读:
    VS2005 Web安装程序 创建程序菜单组
    文件夹 文件 加入/去除 Everyone全控
    [转]asp.net 部署数据库、开始菜单、桌面快捷方式实例
    身边的贵人
    AppCode下的cs类 取得相关路径
    遭遇“windows已经阻止此软件因为无法验证发行者”
    成功不是忽悠
    关于 软件注册授权 防止被大面积免费扩散 的设想
    [转]获取机器的硬件信息(CPU ID序列号, 主板信息,硬盘序列号,系统信息)
    递交辞呈之后
  • 原文地址:https://www.cnblogs.com/riskyer/p/3246593.html
Copyright © 2011-2022 走看看