1. date -d操作

date  +"%Y%m%d" -d  "+n days"         #今天的后n天日期
date +"%Y%m%d" -d "-n days" #今天的前n天日期

2. 常用日期格式输出

date +"%F"                                #输出: --
date +"%D" #输出: //
date +"%Y%m%d %H:%M:%S" #输出: ::
date +"%Y%m%d" #输出:
date +"%Y%m%d %H:%M:%S" -d "+1 hours" #输出: ::
date +"%Y%m%d %H:%M:%S" -d "+1 days" #输出: ::
date +"%Y%m%d %H:%M:%S" -d "+1 months" #输出: ::
date +"%Y%m%d %H:%M:%S" -d "+1 years" #输出: ::
date +"%T" #输出: ::
date +"%F %T" #输出: -- ::
date +"%D %T" #输出: // ::

3. 日期格式转换

# 字符串转时间戳
date -d "2010-10-18 00:00:00" +%s #输出:
# 时间戳转字符串
date -d @ "+%Y-%m-%d" #输出:-- # 获取指定日期的后N天,如果是前N天,则第二部中间是 -
步骤1:得到时间戳         seconds=`date -d "2010-10-18 00:00:00" +%s`
步骤2:加上N天的秒数86400*N   seconds_new=`expr $seconds + *N`
步骤3:获得指定日前加上一天的日前  date_new=`date -d @$seconds_new "+%Y-%m-%d"`

4. 获取上月末和最近一年的日期

dt_curr=

#当月初
dt=`date -d"${dt_curr} -0 days" "+%Y%m01"`
#去年今月初
dt_lastyear=`date -d"${dt} -1 years" "+%Y%m01"`
#上月末
lastday=`date -d "${dt} -1 day" "+%Y%m%d"`
#去年今月末
lastday_lastyear=`date -d "${dt_lastyear} -1 day" "+%Y%m%d"`

dt: 20190301

dt_lastyear: 20180301

lastday: 20190228

lastday_lastyear: 20180228

shell中日期操作的更多相关文章

  1. shell中字符串操作【转】

    转自:http://blog.chinaunix.net/uid-29091195-id-3974751.html 我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧,当然shell编程也不例 ...

  2. linux shell中读写操作mysql数据库

    本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...

  3. mysql中日期操作

    1 获取当前时间 now() select now(); +---------------------+ | now() | +---------------------+ | -- :: | +-- ...

  4. shell中日期循环的方式

    第一种 # 这里的例子以周为循环 !/bin/bash begin_date="20160907" end_date="20170226" while [ &q ...

  5. 关于sql中日期操作

    select * from account where  DAYOFWEEK('2019-11-30') =7 limit 10 DAYOFWEEK对应结果: 周日:1 周一:2 周二:3 周三:4 ...

  6. linux在shell中获取时间

    linux在shell中获取时间 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今 ...

  7. 【转】linux在shell中获取时间 date巧用

    echo `date +%Y-%m-%d" %H:%M:%S"` 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 date1=$(date --date ...

  8. shell中获取时间

    获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用 ...

  9. Shell中怎么获取当前日期和时间

    转载自:https://zhidao.baidu.com/question/627912810044012524.html 获得当天的日期 [root@master ~]# date +%Y-%m-% ...

随机推荐

  1. java开发struts2项目遇到FilterDispatcher过时

    由于工作需要,再次需要写一些简单的Java代码了,曾经的Java编程历历在目,但是却再也找不到以前的感觉了.于是便怀着对儿时Java的记忆,再次踏上Java Web Project. 在此特别鸣谢:h ...

  2. css换行缩进

    1.换行缩进 <div id="alertiframe"> <span id="closeiframe">×</span> ...

  3. css实现九宫格

    原理:浮动+margin负边距 示例代码: <!DOCTYPE html> <html lang="zh"> <head> <meta c ...

  4. 打造通用的Android下拉刷新组件(适用于ListView、GridView等各类View)

    前言 近期在做项目时,使用了一个开源的下拉刷新ListView组件.极其的不稳定,bug还多.稳定的组件又写得太复杂了,jar包较大.在我的一篇博客中也讲述过下拉刷新的实现,即Android打造(Li ...

  5. excel 根据单元格内容自动调整列宽

      excel 根据单元格内容自动调整列宽 CreateTime--2018年5月28日08:49:40 Author:Marydon 1.情景展示 单元格宽度超过了列宽 2.解决方案 第一步:同时选 ...

  6. ORACLE判断两个日期间隔几个工作日

      CreateTime--2017年9月7日17:14:56 Author:Marydon ORACLE判断两个日期间隔几个工作日 方法:使用存储过程 /** * 判断两个日期间隔几个工作日 */ ...

  7. mysql 简单介绍

    mysql 不允许修改数据库名,一些客户端可以变通的方式来修改数据库名称 mysql 1064错误,语法错误 更改表名: rename table jian to song; 删除表 drop tab ...

  8. [转载]编写高性能js

    一.执行效率 1. DOM 1.1 使用DocumentFragment优化多次append 说明:添加多个dom元素时,先将元素append到DocumentFragment中,最后统一将Docum ...

  9. Android 应用开发实例之文件管理器

    2013-07-02 10.2 文件管理器 能够浏览和管理手机/存储卡上的文件和文件夹,包括重命名.删除.新建.复制.粘帖等文件操作. 由于需要浏览大量的文件/文件夹,所以需要使用一个ListView ...

  10. Android 系统 root 破解原理分析 (续)

    上文<Android系统root破解原理分析>介绍了Android系统root破解之后,应用程序获得root权限的原理.有一些网友提出对于root破解过程比较感兴趣,也提出了疑问.本文将会 ...