`
ryan.liu
  • 浏览: 135799 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Linux下的date命令究竟可以干什么

阅读更多
因为有个Bash脚本,想根据用户给的日期参数(yyyymmdd格式),得到这个日期的前一天的表示。首先想到的就是date命令,网上搜了一大把,其实多数都是互相抄的,date基本用法原本就会,不能用来解决我的问题。
先说不用date命令的方法:
不嫌麻烦就多用几个判断,解决每月开头、每年开头减去一天的问题,最麻烦的是倒推到上个月最后一天,这一天究竟是28、29还是30、31,还得写个函数。
再说date的基本用法:
date +%Y%m%d  这是格式化输出,其他语言多数叫做strftime()
date -d "2 days ago" +%s  -d可以输入一个日期,不过大多是相对于现在时间,+%s是输出时间戳。
date -d "2010-12-06" +%F  -d可以接受ISO格式yyyy-mm-ddTHH:MM:SSZ,也可以接受日期的一些英文格式(月份英文缩写)  %F就是%Y%m%d
接着搜到的我不知道的格式用法,当然对我的问题没有帮助:
格式字符中加-可以去掉前面的0,加_把前面的0变成一个空格,举例:date +%-Y%-m%-d 是 2010-12-6 (6前面的0去掉了)  date +%_Y%_m%_d 是 2010-12- 6  (6前面有一个空格)
最后是谜底,date可以接受的特殊-d参数:
date -d "1970-01-01 UTC 1291622912 seconds" +%s  在前面的日期上面加上这么多秒作为输入。在我的脚本中这么用的:
date=$1   #从脚本的第一个参数得到输入日期(格式yyyy-mm-dd或者yyyymmdd)
datets=`date -d "$1" +%s` #求出这个日期的时间戳,注意两边的是反引号,Tab键上面那个,下同
yesterts=`expr $datets - 86400`  #往前推一天
yesterday=`date -d "1970-01-01 UTC $yesterts seconds" +%Y%m%d` #把它变做输出



我从那里知道的,既不是date的help命令,也不是man文档。而是一个网页 [网址找不着了]
分享到:
评论
1 楼 xfzhu2003 2012-07-18  
# date -d '-2 day 2012-07-11' +%Y-%m-%d            
2012-07-09

相关推荐

    Linux下date命令,格式化输出,时间设置方法

    ### Linux下的Date命令详解:格式化输出与时间设置 #### 一、Date命令概述 `date` 命令在Linux系统中是一个非常基础且重要的工具,主要用于显示或设置系统的日期与时间。通过灵活地使用该命令的不同选项,用户不仅...

    linux 的date命令及系统时间设置.docx

    Linux 的 date 命令是用于显示或设定系统的日期与时间的命令,它可以显示当前的日期和时间,也可以设定系统的日期和时间。Date 命令的使用权限是所有用户都可以使用。 Date 命令的使用方式如下: date [-u] [-d ...

    Linux date 命令使用技巧.txt

    ### Linux `date` 命令使用技巧及格式详解 #### 概述 在Linux操作系统中,`date`命令是一个非常实用且强大的工具,用于显示和设置系统日期和时间。通过掌握`date`命令的不同选项及其格式化字符串,用户可以灵活地...

    linux的date命令及系统时间设置[文].pdf

    Linux 的系统时间设置是通过 date 命令来实现的,该命令可以用来显示和设置系统的日期和时间。下面是关于 date 命令的详细说明: date 命令的使用权限是所有用户,可以使用 date 命令来显示或设置系统的日期和时间...

    Linux之date命令

    **Linux之date命令详解** `date`命令是Linux操作系统中用于显示或设置系统时间与日期的重要工具,尤其在编写shell脚本时,它的作用尤为重要。它允许用户以各种格式输出日期和时间,甚至可以根据需要设置特定的时间...

    Linux中date命令详解.docx

    ### Linux中的Date命令详解 #### 一、Date命令概述 `date`命令是Linux系统中一个非常实用且功能强大的工具,主要用于显示或设置系统的时间与日期。它支持丰富的格式化选项,用户可以根据需要定制日期与时间的显示...

    date命令案例

    总结,`date`命令是Linux环境中的一个强大工具,它不仅可以用来查看和设置系统时间,还能进行日期和时间的运算、格式化输出以及与其他命令配合完成更复杂的任务。熟练掌握`date`命令,对于日常的系统管理和自动化...

    linux date命令详解

    通过了解 `date` 命令的功能和使用方法,我们可以更好地管理 Linux 系统的时间设置,并且能够灵活地格式化日期和时间以适应各种应用场景。无论是对于日常操作还是脚本编写都是非常实用的技能。希望以上介绍能够帮助...

    Linux date命令的使用

    Linux date命令是Linux系统中一个...通过灵活运用这些选项和格式控制,用户可以轻松地在终端中获取和处理日期和时间信息,无论是简单的显示还是复杂的自动化任务,date命令都是Linux系统管理员和开发人员的重要工具。

    linux date命令.docx

    Linux `date` 命令是Linux操作系统中的一个强大工具,用于查看和设置系统的日期和时间。这个命令具有丰富的选项,允许用户以各种格式显示日期和时间,甚至进行日期和时间的计算。在日常运维或者脚本编程中,`date` ...

    linux date命令使用文档

    linux date shell中用 date命令对日期进行处理,但怎么获取10分钟之前的时间呢,仔细看了一下help,没有看出对时间的“运算”,有的也就是一些输出格式的描述。但有一 个参数 -d or --date=STRING 其描述...

    linux 基本命令---date命令总结

    ### Linux date 命令详解 #### 一、概述 `date`命令是Linux系统中一个非常实用且强大的工具,用于显示或设置系统的日期与时间。对于系统管理员来说,掌握`date`命令的使用方法至关重要,它可以帮助我们精确地管理...

    linux的date命令及系统时间设置.pdf

    Linux 的 date 命令及系统时间设置 Linux 操作系统中,时间管理是一个非常重要的方面。...Linux 的 date 和 hwclock 命令都是用于时钟查看和设置的命令,它们可以帮助用户更方便地管理 Linux 系统的时间。

    Linux系统中date命令及相关时区介绍

    在Linux操作系统中,`date`命令是一个非常实用的工具,用于显示和设置系统的日期和时间。这个命令在日常系统管理中扮演着重要角色,尤其是在自动化脚本和定时任务中。以下是对`date`命令和相关时区的详细介绍。 ...

    Linux基础命令-date命令.docx

    ### Linux基础命令-date命令详解 #### 1. 简介 `date` 命令是Linux系统中一个非常重要的工具,它主要用于显示或设置系统的时间与日期。通过使用不同的选项和参数,用户可以方便地获取当前系统的时间日期信息,进行...

    Linux开发常用命令.doc

    * cd 命令:用于切换当前目录,cd 命令可以将当前目录切换到指定的目录下。 * pwd 命令:用于显示当前目录的路径。 二、文件操作命令 文件操作命令是 Linux 中最基本的命令之一,下面都是文件操作命令: * rm ...

    Linux date命令.pptx

    ### Linux Date 命令详解 #### 一、概述 `date` 命令是 Linux 系统中用于管理日期和时间的强大工具之一。它不仅能够用来查看系统的当前日期和时间,还允许用户根据需求设定系统的时间。此外,通过灵活运用 `date` ...

    linux的date命令及系统时间设置借鉴.pdf

    Linux 的 date 命令及系统时间设置借鉴 Linux 系统中有两种时钟:系统时钟(System Clock)和硬件时钟(Real Time Clock,简称 RTC)。系统时钟是指当前 Linux Kernel 中的时钟,而硬件时钟则是主板上由电池供电的...

Global site tag (gtag.js) - Google Analytics