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. Myeclipse最全快捷键

    转自:http://www.iteye.com/topic/1051317 Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行  Ctrl+Alt+↓ 复制当前行到下一 ...

  2. OpenVPN多处理之-为什么不

    OpenVPN没有多处理.人所皆知.我觉得我有点啰嗦了.天天说这个事.为什么没有多处理呢?我们来看下OpenVPN的作者,大牛级别的,早已超越代码的重量级人物,James Yonan(简称JY)是怎么 ...

  3. quartz.net持久化和集群【转】

    在实际使用quartz.net中.持久化能保证实例重启后job不丢失. 集群能均衡服务器压力和解决单点问题. quartz.net在这二块配置都比较方便,来看下. 一:持久化 quartz.net的持 ...

  4. Redis源代码剖析和凝视(八)--- 对象系统(redisObject)

    Redis 对象系统 1. 介绍 redis中基于双端链表.简单动态字符串(sds).字典.跳跃表.整数集合.压缩列表.高速列表等等数据结构实现了一个对象系统,而且实现了5种不同的对象,每种对象都使用 ...

  5. 跟踪数据库中执行时间超过1.5秒的语句及SP,导入数据库

    跟踪 --============================================================================ --新建两个目录 D:\InOut\ ...

  6. 【centos6.5】CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境(linux公社)

    准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dp ...

  7. IT路上的应该注意自我规划 学习规划与自我修炼

    http://www.nowamagic.net/librarys/veda/detail/607 IT路漫漫,你需要明确自己所处的位置,并作出相应的规划,这条路才能够走得更加顺畅.下面是参考: 初学 ...

  8. JavaScript 参考教程

    JavaScript 是使用“对象化编程”的,或者叫“面向对象编程”的.所谓“对象化编程”,意思是把 JavaScript 能涉及的范围划分成大大小小的对象,对象下面还继续划分对象直至非常详细为止,所 ...

  9. Linux命令-目录处理命令:rmdir

    rmdir /tmp/shijiazhuang/yuhuaqu 删除一个子目录(必须是空目录) rmdir /tmp/shijiazhuang 删除一个不为空的目录会失败

  10. 调整弹出对话框在ASP.NET应用程序的大小

    调整弹出对话框在ASP.NET应用程序的大小 #region 调整弹出对话框在ASP.NET应用程序的大小    protected void PopupWindowControl_Customize ...