1、下载安装busybox:

# wget http://busybox.net/downloads/busybox-1.29.3.tar.bz2
# tar -jxvf busybox-1.29..tar.bz2
# cd busybox-1.29.
# make defconfig //如果对根文件系统的大小不是很苛求,可以直接使用busybox的默认配置
# make
# make install 构建date链接
# ln -sf ./busybox ./date

busybox date参数详解

[busybox-1.29.]# ./date --help
BusyBox v1.29.3 (-- :: CST) multi-call binary. Usage: date [OPTIONS] [+FMT] [TIME] Display time (using +FMT), or set time [-s,--set] TIME Set time to TIME
-u,--utc Work in UTC (don't convert to local time)
-R,--rfc- Output RFC- compliant date string
-I[SPEC] Output ISO- compliant date string
SPEC='date' (default) for date only,
'hours', 'minutes', or 'seconds' for date and
time to the indicated precision
-r,--reference FILE Display last modification time of FILE
-d,--date TIME Display TIME, not 'now'
-D FMT Use FMT for -d TIME conversion Recognized TIME formats:
hh:mm[:ss]
[YYYY.]MM.DD-hh:mm[:ss]
YYYY-MM-DD hh:mm[:ss]
[[[[[YY]YY]MM]DD]hh]mm[.ss]
'date TIME' form accepts MMDDhhmm[[YY]YY][.ss] instead

Linux系统中的date一般可以直接进行日期的相减,

例如: centos7系统

date 获取前一天的时间: date -d -1day     或者   date -d '1 day ago'

date 获取前一个月的时间: date -d '1 month ago'

date 获取前一年的时间: date -d '1 year ago'

而busybox date则不可以直接获取前一天的时间,,需要时间数字相减的方法来实现获取前一天的时间

例如: busybox date 获取前一天的时间:

考虑到当前时间是年度第一天1月1日的情况,代码如下:

year=`date +%Y`   // 获取当前时间的年份
month=`date +%m` // 获取当前时间的月份
day=`date +%d` // 获取当前时间的日期 if [[ "$day" == "" ]];then // 如果当前时间是1号 ,则考虑一下月份问题
if [[ "$month" == "" ]];then // 如果当前时间是1月1号,,获取的前一天则是去年的最后一天 ,所以年份需要减一,月份和日期则是12月31日
year=`expr $year - `
yesterday="${year}-12-31"
elif [[ "$month" == "" ]];then // 如果当前时间是3月1号,获取的前一天则是2月的最后一天,2月又分28天和29天,,所以需要和4取余,
year_type=`expr ${year} % `
if [[ "$year_type" == "" ]];then // 与4取余为0则为闰年,这一年的2月最后一天是29号,,取余不为0则为平年,2月的最后一天是28号
day=""
else
day=""
fi
yesterday="${year}-02-${day}"
// 1,3,5,7,8,10,12月均是31天
elif [[ "$month" == "" || "$month" == "" || "$month" == "" || "$month" == "" || "$month" == "" || "$month" == "" ]];then
month=`expr ${month} - `
yesterday="${year}-${month}-31"
elif [[ "$month" == "" ||"$month" == "" || "$month" == "" || "$month" == "" ]];then
month=`expr ${month} - `
yesterday="${year}-${month}-30" fi
else
yesterday=${year}-${month}-`expr ${day} - `
fi echo $yesterday

busybox date 时间的加减的更多相关文章

  1. java中可以对时间进行加减处理,有时候不用在sql语句中处理

    String ssny = (String) pd.get("ssny");   SimpleDateFormat simpleDateFormat=new SimpleDateF ...

  2. 【python】详解time模块功能asctime、localtime、mktime、sleep、strptime、strftime、time等函数以及时间的加减运算

    在Python中,与时间处理相关的模块有:time.datetime以及calendar.学会计算时间,对程序的调优非常重要,可以在程序中狂打时间戳,来具体判断程序中哪一块耗时最多,从而找到程序调优的 ...

  3. linux的date命令使用指定时间的加减方法与异常

    在一般网页里,date命令减时间方法为: date -d '-100 days' 我的需求是,在指定时间上减8小时.按一般理解来看,命令写成如下样子(有异常错误的写法): date -d " ...

  4. MySQL 时间函数加减计算

    一.MySQL 获得当前日期时间 函数 1.1 获得当前日期 + 时间(date + time) 函数:now() mysql> select now();+———————+| now() |+ ...

  5. Java对日期Date类进行加减运算,年份加减,月份加减

      import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; public class Da ...

  6. 【转】Java对日期Date类进行加减运算,年份加减,月份加减

    import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; public class Date ...

  7. xxxx-xx-xx的时间的加减

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8& ...

  8. Oracle计算时间函数(对时间的加减numtodsinterval、numtoyminterval) (转)

    原文来自:http://blog.itpub.net/756652/viewspace-697256/ 11g interval分区,按天分区,需要用到函数numtodsinterval.   cre ...

  9. Oracle 时间处理(加减)

    一. 类似SQL SERVER中DateAdd select sysdate,add_months(sysdate,12) from dual;        --加1年 select sysdate ...

随机推荐

  1. R语言与概率统计(六) 主成分分析 因子分析

    超高维度分析,N*P的矩阵,N为样本个数,P为指标,N<<P PCA:抓住对y对重要的影响因素 主要有三种:PCA,因子分析,回归方程+惩罚函数(如LASSO) 为了降维,用更少的变量解决 ...

  2. ECLIPSE 安卓项目 迁移 android stiod

    JNI 处理 http://www.cnblogs.com/flyme/p/4431762.html 导入ECLIPSE项目 http://blog.csdn.net/molei1991/articl ...

  3. nginx配置静态资源关闭访问日志

    location ~ .*\.(css|js|gif|png|jpg|jpeg|bmp|swf)$ { root $root_path; access_log off; }

  4. Django:(05)类视图,装饰器和中间件

    一.类视图的定义和使用 在Django中还可以通过类来定义一个视图,称为类视图. 定义一个类视图:定义一个类,需继承 Django 提供的 View 类 . from django.views.gen ...

  5. Django 虚拟化环境创建

    A:linux下的方法: 1.用python3.6内置的venv创建名为 typeidea-env虚拟化环境: python3.6 -m venv typeidea-env 2.激活环境: cd ty ...

  6. Python之Web前端Ajax

    Ajax: 对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上. 1.传统的Web应用 一个简单操 ...

  7. CSS:盒子的定位与浮动

    CSS--盒子定位.浮动与居中 HTML中的每个元素都是一个盒子   浏览器对HTML文档进行解析,根据盒子的属性对其进行排列. 每个元素默认使用标准文档流定位   标准文档流:是指浏览器读取HTML ...

  8. ci框架读取上传的excel文件数据

    原文链接: https://blog.csdn.net/qq_38148394/article/details/87921373 此功能实现使用到PHPExcel类库,PHPExcel是一个PHP类库 ...

  9. django form组件 cookies,session

    django form组件 渲染标签  就是组件里面的字段在前端展示叫做渲染标签 校验数据  用户输入的数据提交给后端组件叫做校验数据 forms组件中定义的字段都是必须传值的(required=Tr ...

  10. 在使用selenium时出现FileNotFoundError: [WinError 2] 系统找不到指定的文件。

    今天在使用selenium出现这样的错: Traceback (most recent call last): File "E:\python\lib\site-packages\selen ...