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. [Node.js] 4. Modules

    4.2 Missing Exports Notice the two different files: high_five.js on the left side andapp.js on the r ...

  2. Android provider中使用sqlite内存数据库

    sqlite是支持内存数据库的,在Android中,我们可以通过provider实现内存数据库操作.内存数据库的优点,访问速度快,但在连接关闭后,数据库自动消失(在android中的表现是,provi ...

  3. Ubuntu下压缩包内文件解压后乱码问题的解决

    用到的工具是The Unarchiver项目提供的lsar/unar工具. The Unarchiver项目主页:http://code.google.com/p/theunarchiver/ 安装( ...

  4. LeetCode_Path Sum

    一.题目 Path Sum My Submissions Given a binary tree and a sum, determine if the tree has a root-to-leaf ...

  5. 算法笔记_046:跳台阶问题(Java)

    目录 1 问题描述 2 解决方案 2.1 递归法 2.2 迭代法   1 问题描述 一个台阶总共有n级,如果一次可以跳1级,也可以跳2级,求总共有多少种跳法. 2 解决方案 2.1 递归法 如果整个台 ...

  6. 算法笔记_031:计算中值和选择问题(Java)

    目录 1 问题描述  2 解决方案 2.1 计算中值问题 2.2 选择问题   1 问题描述 中值问题是求一个n个数列表中某一数组下标k,它要求该下标元素比列表中的一半元素大,又比另一半元素小,这个中 ...

  7. 【Oracle】Oracle常用语句集合

    表相关 1.快速统计大表记录数 select table_name, t.num_rows, t.last_analyzed  from tabs t WHERE table_name='TABLE_ ...

  8. JDBC 滚动和分页

    public class ScrollTest {     /**      * @param args      * @throws SQLException      */     public ...

  9. python pivot() 函数

    以下为python pandas 库的dataframe pivot()函数的官方文档: Reshape data (produce a “pivot” table) based on column ...

  10. Python操作redis字符串(String)详解 (三)

    # -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1.SET 命令用于设置 ...