首页 > 系统 > Linux > 正文

Linux环境-环境变量、时间和日期

2024-06-28 16:02:41
字体:
来源:转载
供稿:网友

环境变量

环境由一组格式为“名字=值“的字符串组成

在C语言程序中可以通过putenv和getenv函数来访问和设置环境变量,

在environ变量中保存有程序的所有环境变量,它以null结尾。

#include <stdlib.h>

extern char **environ;

char *getenv(const char *name);

name: 为环境变量的名称 例如HOME

返回值 若环境变量有相关值则返回相关值,若无相关值则返回值的第一个字节时null

            若不存在查询的环境变量则返回null

int putenv( const char *string);

string 为 ”名字=值“的字符串作为参数,并将该字符串加到当前环境中。

返回值:如果由于内存不足导致不能扩展环境,他会返回  -1,并设置错误变量errno为ENOMEM

通过如下形式也可以为程序设定环境变量

$ FRED=hello ./env FRED

Variable FRED has value hello

时间和日期

所有的UNIX系统都是以格林尼治时间1970年1月1日0点开始计时的。从那时开始以秒计时。用一个time_t来存放时间,其实是一个long ing型

#include <time.h>

time_t time(time_t *tloc);

获取时间,返回值和,tloc都可以获得时间

double difftime(time_t time1, time_t time2); //为了最大限度的考虑可移植性,最好使用此函数

获得两个时间的时间差,并将time1-time2的值作为浮点数返回

struct tm *gmtime(const time_t *timeval); //get man time ?将time获得的时间转换为年月日时分秒(获得的时间为零时区时间)

stuct tm *localtime(const time_t *timeval)获得的时间为本时区时间

timeval: time函数获得的时间值

tm结构体:

int tm_sec 秒 0~61 //闰秒或双闰秒

int tm_min 分 0~59

int tm_hour 时

int tm_mday 日

int tm_mon 月

int tm_year 年

int tm_wday 星期几

int tm_yday 一年中的第几天,0~366

int tm_isdst 是否夏令时

time_t mktime (struct tm *timeptr);//将strut tm 转换为 time_t 如果struct tm不能被转换返回-1

char *asctime(const struct tm *timeptr);//将给定的tm结构时间按照固定的字符串格式输出

char *ctime(const time_t *timeval);//以原始时间值为参数,并将它转换为一个更易读的本地时间。相当于asctime(localtime(timeval));

size_t strftime(char *s, size_t maxsize, const char *format, struct tm *timeptr);//格式化输出tm结构中的时间(string format time = strftime)

例如:年月日时分秒 “%Y%m%d%H%M%S“

char *strptime(const char *buf, const char *format, struct tm *timeptr);//读取字符串buf中的日期到timeptr中,返回char指针指向buf中不能识别的字符


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表