导航:首页 > 操作系统 > linux日期计算

linux日期计算

发布时间:2022-09-19 01:19:20

1. linux下,和时间相关的几个函数

struct tm { int tm_sec; /* Seconds (0-60) */ int tm_min; /* Minutes (0-59) */ int tm_hour; /* Hours (0-23) */ int tm_mday; /* Day of the month (1-31) */ int tm_mon; /* Month (0-11) */ int tm_year; /* Year - 1900 */ int tm_wday; /* Day of the week (0-6, Sunday = 0) */ int tm_yday; /* Day in the year (0-365, 1 Jan = 0) */ int tm_isdst; /* Daylight saving time */ };

这就里面的参数已经很详尽也很简单了
所以不需要你再去做其它的事情,只要填充这个结构就可以了
当然如果你非要用以上概述的方法来完成任务的其实也很简单
只需要将以上的内容填充到这个结构体然后再调用mktime函数就可以了
下面我给个简单的实现可以参考下,然后根据自己的实际情况再做些修改

void settime(unsigned char *buf,int buf_len){ struct tm t; int year=0; memset(&t,0,sizeof(t)); memcpy(&year,buf,2); //前两个字节为年份 year-=1900; //struct sm结构中年份是以1900年开始计算的 t.tm_year=year; t.tm_mon=(int)buf[2]-1; t.tm_mday=(int)buf[3]; t.tm_hour=(int)buf[4]; t.tm_min=(int)buf[5]; t.tm_sec=(int)buf[6]; if(mktime(&t) == -1) //设置时间 perror("mktime");}

2. linux sh脚本取前一个月的日期

1、date +%w
%w day of week (0..6); 0 is Sunday
2、如果星期2-6,上一个工作日肯定就是
t1=`date -d yesterday`
或者
t2=`date -d -1day`
3、如果星期天,上一个工作日肯定就是
t3=`date -d -2day`
4、如果星期1,上一个工作日肯定就是
t4=`date -d -3day`

3. linux中文件夹的创建日期是怎么计算的

是根据你的系统时间 在创建文件夹时会记录创建的时间

4. linux C 获取时间以及计算时间差

可以用time()系统调用来获取系统时间,然后减去之前记录的时间就得到了时间差

5. 用linux 日期加天数输出

#!/bin/bash
echo "please input your date:"
read a
echo "please input a num of the day you want to plus:"
read b
date -d "$a + $b days " +%Y%m%d

记得把脚本的权限打开,然后执行他,第一次你输入一个日期,第二次输入一个你想要加的天数,然后就能得出结果了。

6. linux 内的时间是从什么时候开始计算

如果你是说那一长串数字的话,那个称为UNIX时间

是从1970年1月1时0时0分起至当前的总秒数,1970年被称为是Unix元年

7. 在linux中怎样知道某年某月某日是星期几

date命令
date命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。
还有就是:在Linux中,可以在终端中直接通过输入命令
cal来调用Linux自带的日历功能,你可以通过万年历查看 如果你是运维的话可以看看Linux 这个可以试试。建议看看《Linux就该这么学》 里面有个专栏是 Linux命令大全(手册) 加入我们的群

8. 在Linux下, 用C如何设置日期

1.时间表示

在程序当中,我们经常要输出系统当前的时间,比如我们使用date命令的输出结果.这个时候我们可以使用下面两个函数:

#include
time_t time(time_t *tloc);
char *ctime(const time_t *clock);

time函数返回从1970年1月1日0点以来的秒数.存储在time_t结构之中.不过这个函数的返回值对于我们来说没有什么实际意义.这个时候我们使用第二个函数将秒数转化为字符串. 这个函数的返回类型是固定的:一个可能值为.Thu Dec7 14:58:59 2000 这个字符串的长度是固定的为26.

2.时间的测量
有时候我们要计算程序执行的时间.比如我们要对算法进行时间分析.这个时候可以使用下面这个函数. #include int gettimeofday(struct timeval *tv,struct timezone *tz); strut timeval { long tv_sec; /* 秒数 */ long tv_usec; /* 微秒数 */ }; gettimeofday将时间保存在结构tv之中.tz一般我们使用NULL来代替. #include #include #include void function() { unsigned int i,j; double y; for(i=0;i<1000;i++) for(j=0;j<1000;j++) y=sin((double)i); } main() { struct timeval tpstart,tpend; float timeuse; gettimeofday(&tpstart,NULL); function(); gettimeofday(&tpend,NULL); timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+ tpend.tv_usec-tpstart.tv_usec; timeuse/=1000000; printf("Used Time:%f\n",timeuse); exit(0); }

这个程序输出函数的执行时间,我们可以使用这个来进行系统性能的测试,或者是函数算法的效率分析.在我机器上的一个输出结果是: Used Time:0.556070

9. linux中用shell时奇怪的字符串拼接和时间计算问题

testt=$(date +%Y-%m-%d)
date2="14/08/12"
test=20
testtt="${test}${date2}"
time1=$(date +%s -d "$testt" )
time2=$(date +%s -d "$testtt" )
time=$(($time1-$time2))
echo $time

改成引号,去掉括号!!

10. linux中,怎么通过shell语句获取当前日期,输出格式要求20111224.

在Linux下,可以通过date语句来获取当前日期:

输入:date +%Y%m%d

输出:20190314

命令实际执行情况如下图:


(10)linux日期计算扩展阅读

GNU 对 date 命令的另一个扩展是 -d 选项,使用这个功能强大的选项,您可以完成很多有意义的工作。

1、快速地查明一个特定的日期究竟是星期几:

输入:date -d "nov 22"

输出:2019年 11月 22日 星期五 00:00:00 CST

在本示例中,您可以看到今年(2019年)的 11 月 22 日是星期五。

2、获得相对日期

-d 选项还可以告诉您,相对于当前日期之前或者以后的日期。

如,您需要了解两星期以后的日期,那么:

输入: date -d "2 weeks"

输出:2019年 03月 29日 星期五 00:12:24 CST

3、使用 next/last指令,您可以得到以后的星期几是哪一天:

输入: date -d "next monday" (下周一的日期)

输入: date -d next-day +%Y%m%d(明天的日期)或者:date -d tomorrow +%Y%m%d

输入: date -d last-day +%Y%m%d(昨天的日期) 或者:date -d yesterday +%Y%m%d

输入: date -d last-month +%Y%m(上个月是几月)

输入: date -d next-month +%Y%m(下个月是几月)

4、使用 ago 指令,您可以得到过去的日期:

输入: date -d "30 days ago" (30天前的日期)

5、您可以使用负数以得到相反的日期:

输入: date -d "dec 14 -2 weeks" (相对:dec 14这个日期的两周前的日期)

输入: date -d "-100 days" (100天以前的日期)

输入: date -d "50 days" (50天后的日期)



阅读全文

与linux日期计算相关的资料

热点内容
android天气apijson 浏览:982
为什么创建id会出现服务器错误 浏览:835
代码中有不必编译的单词吗 浏览:563
钩子与数据库编程 浏览:563
安卓光遇录歌怎么设置 浏览:485
虚拟机怎么和云服务器搭建集群 浏览:896
python倒计时代码turtle 浏览:491
cad命令mv 浏览:928
nexus7一代androidl 浏览:306
linux使用静态库编译过程 浏览:103
android平滑滚动效果 浏览:841
什么是编译器指令 浏览:219
微控制器逻辑命令使用什么总线 浏览:887
程序员在学校里是学什么的 浏览:605
oraclejava数据类型 浏览:890
程序员考注册会计师 浏览:957
怎么使用access的命令按钮 浏览:899
有点钱app在哪里下载 浏览:832
博途v15解压后无法安装 浏览:205
什么是根服务器主机 浏览:438