iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >shell语言date用法介绍
  • 266
分享到

shell语言date用法介绍

2023-06-09 12:06:16 266人浏览 安东尼
摘要

本篇内容主要讲解“shell语言date用法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell语言date用法介绍”吧!   首先,我们来看,date函数在shel

本篇内容主要讲解“shell语言date用法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell语言date用法介绍”吧!

   首先,我们来看,date函数在shell中一般是怎么用的。这种最常见的,就是在脚本中需要输出日志的时候,打印日志的生成时间,而打印的方法,我比较习惯于使用下面的方法:

LOG_FILE="/var/log/script.log"exec 2>>${LOG_FILE}function my_log(){    local curtime=`date "+%Y-%m-%d %H:%M:%S"`  echo "$curtime $*">> ${LOG_FILE}}

   写这样一个my_log的函数,然后每次需要打印log的时候,就使用这样的函数my_log加上你想打印的内容,就可以直接进行打印了。

   在这个过程中,date函数的使用方法是生成指定格式的时间,举个例子:

[root ~]# date "+%Y-%m-%d %H:%M:%S"2019-11-05 22:27:59

当然,我们可以定义格式,例如,不要后面的%H:%M:%S或者只显示当前的月份,那就变成了:

date "+%Y-%m-%d"  --date "+%m"

   如果你想获取当天之前或者之后的某一天的时间,可以使用下面的方法:

[root ~]# date "+%Y-%m-%d" -11-05[root ~]# date -d "1 days" "+%Y-%m-%d"           -11-06[root ~]# date -d "1 days aGo" "+%Y-%m-%d" -11-04

  可以看到,想要前一天的时间,就直接输入1 days ago就可以。这里解释一下-d参数,它代表的是使用字符串来显示当前的时间。

   前两天遇到的问题是需要去掉日期的前导0,也就是说,形如2019-11-05的日期,需要变为2019-11-5,这种类型,那么这个需求怎么实现呢?这里给出两种方法:

方法一:

[dba_mysql@ /tmp]$cat test.shreal_year=`date -d "2 days" "+%Y"`real_month=`date -d "2 days" "+%m"`real_day=`date -d "2 days" "+%d"`real_date=`date -d "2 days" "+%Y-%m-%d"`echo "真实的年月日:"$real_dateresult_year=`expr $real_year + 0`result_month=`expr $real_month + 0`result_day=`expr $real_day + 0`result_date=$result_year-$result_month-$result_dayecho "处理后的年月日:"$result_date

 输出结果如下:

真实的年月日:2019-11-07
处理后的年月日:2019-11-7

   可以看到,这个过程中,是借助了expr这个数学上的计算方法,来讲日期和月份都转化成数字,这样就去掉了前导的0,然后再通过字符串拼接的方法,最终得到去掉前导0的结果。

方法二:

real_year=`date -d "2 days" "+%Y"`real_month=`date -d "2 days" "+%m"`real_day=`date -d "2 days" "+%d"`real_date=`date -d "2 days" "+%Y-%m-%d"`echo "真实的年月日:"$real_dateresult_year=`echo $real_year|sed 's/^0//g'`result_month=`echo $real_month|sed 's/^0//g'`result_day=`echo $real_day|sed 's/^0//g'`result_date=$result_year-$result_month-$result_dayecho "处理后的年月日:"$result_date

  这种方法是使用了sed的方法,通过s方法替代掉以0开头的字符串前面的0,从而让结果中只保留非0开头的数字。其核心是sed  's/^0//g',将以0开头的字符串开头的0去掉。

    除此之外,我们可以使用date的方法来获取当前日期是一年中的第几个周。这里给出了三个参数都可以给出结果,我罗列一下,大家可以比较一下不同。

date --help中有下面几句话%W  week number of year, with Monday as first day of week (00..53)%U  week number of year, with Sunday as first day of week (00..53)%V  ISO week number, with Monday as first day of week (01..53)[dba_Mysql@ /tmp]$date +%W[dba_mysql@ /tmp]$date +%U[dba_mysql@ /tmp]$date +%V

   这些方法中,%W是以星期一为一个周的第一天,%U是以星期天为一个周的第一天,%V是ISO的周表示方法,也是以星期一为一个周的第一天,不同的是,他没有第0个周的概念。

   关于date的更多用法,还请大家使用date --help进行参考。

到此,相信大家对“shell语言date用法介绍”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: shell语言date用法介绍

本文链接: https://www.lsjlt.com/news/255843.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • shell语言date用法介绍
    本篇内容主要讲解“shell语言date用法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell语言date用法介绍”吧!   首先,我们来看,date函数在shel...
    99+
    2023-06-09
  • Shell时间date相关的命令介绍
    这篇文章主要讲解了“Shell时间date相关的命令介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell时间date相关的命令介绍”吧!date +%Fdate ...
    99+
    2023-06-09
  • Go语言中DateTime的用法介绍
    一、基本使用 ①从属于time这个包 ②一般使用都是使用 time.Time 这个类型表示时间 ,time包中还有一些常量,源码如下 // Common durations. The...
    99+
    2024-04-02
  • C语言中.与->的用法介绍
    目录(一)基础(二)例子(三)总结(一)基础 结构体用点,结构体指针用箭头。 a->b 的含义是 (*a).b 。  现代的标...
    99+
    2023-05-20
    C语言中.与->的区别 C语言->用法
  • C语言switch语句和if用法介绍
    目录switch语句switch和if的区别1.switch语句结构示意图2.if语句结构示意图switch的高级(灵活)运用switch的嵌套实现循环及循环的两个关键字什么是循环结...
    99+
    2024-04-02
  • Python语言介绍
    本文章可以让我们快速了解 python 语言的历史,及以后发展状态,职业方向。文章收录网上内容:http://www.cnblogs.com/lidong94/p/5478032.html (Python介绍)http://3060674....
    99+
    2023-01-31
    语言 Python
  • C语言中函数的介绍及用法
    本篇内容介绍了“C语言中函数的介绍及用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录函数定义库函数定义介绍Example 1 strc...
    99+
    2023-06-20
  • Go语言里切片slice的用法介绍
    1.切片是基于数组做的一层封装,灵活能够自动扩容。 2.切片的初始化方法 ①直接创建 ②基于已有的数组或切片 ③使用make来创建一个切片 第一个5是切片的大小 第二个5是切片...
    99+
    2024-04-02
  • Go语言中循环Loop的用法介绍
    Go语言和其他语言不一样,它只有一种循环方式,就是for语句 可以参考如下公式: for initialisation; condition; post{ //Do Some...
    99+
    2024-04-02
  • SQL常用语法介绍
    这篇文章主要讲解了“SQL常用语法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL常用语法介绍”吧!目录系列教程一、SQL语言的简介和规范二、数据库操作创建库删除库查看数据库列表三、...
    99+
    2023-06-20
  • shell常用重定向方法介绍
    这篇文章主要讲解了“shell常用重定向方法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shell常用重定向方法介绍”吧!每个打开的文件都会被分配一个文件描述符.stdin (键盘),...
    99+
    2023-06-09
  • C语言常量介绍
    目录什么是常量常量都有哪些这四种常量的特点、注意事项等等1.字面常量:2.const修饰的常变量3.#define定义的标识符常量4.枚举常量总结什么是常量 从字面上简单解释就是不变...
    99+
    2024-04-02
  • C语言中操作符的介绍及用法
    这篇文章主要讲解了“C语言中操作符的介绍及用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言中操作符的介绍及用法”吧!目录操作符分类算术操作符移位操作符整数存储规则左右移位规则赋值操作...
    99+
    2023-06-20
  • Java语言中的重构方法介绍
    重构是指对已有代码进行修改,以改善其设计和功能,但不改变代码的外部行为。在Java语言中,有许多重构方法可以使用。以下是一些常见的重...
    99+
    2023-08-29
    java
  • 基础知识:编程语言介绍、Python介绍
    2018年3月19日 今日学习内容: 1、编程语言的介绍 2、Python介绍 3、安装Python解释器(多版本共存) 4、运行Python解释器程序两种方式。(交互式与命令行式)(♥♥♥♥♥) 5、变量(♥♥♥♥♥) 6、数据类型的基...
    99+
    2023-01-31
    基础知识 编程语言 Python
  • go语言中函数与方法介绍
    在C#或者Java里面我们都知道,一个Class是要包含成员变量和方法的,对于GO语言的Struct也一样,我们也可以给Struct定义一系列方法。 一、怎么定义一个方法? Go的方...
    99+
    2024-04-02
  • Kotlin语言使用BroadcastReceiver示例介绍
    目录一、动态注册和静态注册二、自定义广播1.方法解析2.发送标准广播一、动态注册和静态注册 动态注册:在代码中注册 动态注册能监听到大部分的系统广播和自定义的广播(都为隐式广播) 步...
    99+
    2024-04-02
  • Kotlin语言使用WebView示例介绍
    目录1、WebView类提供的常用方法2、WebView的简单用法实现浏览网页1、启用JavaScript的支持2、目标的网页仍然在当前WebView中显示3、将网址传入3、结合We...
    99+
    2024-04-02
  • C语言中static的使用介绍
    目录1.static 可以修饰局部变量2. static 可以修饰全局变量3.static 可以修饰函数总结1.static 可以修饰局部变量 首先让我看看这段代码 #inclu...
    99+
    2024-04-02
  • C语言rand和srand函数使用方法介绍
    目录前言随机数的本质重新播种生成一定范围内的随机数连续生成随机数前言 在实际编程中,我们经常需要生成随机数,例如,贪吃蛇游戏中在随机的位置出现食物,扑克牌游戏中随机发牌。 在C语言中...
    99+
    2023-02-11
    C语言rand和srand C语言rand方法 C语言srand方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作