date详解,date操作的案例,转载:https://www.cnblogs.com/kimbo/p/7102203.html

本文主要是介绍date详解,date操作的案例,转载:https://www.cnblogs.com/kimbo/p/7102203.html,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

格式:date [选项] … [+格式]
选项说明:-d ,–date=字符串   显示指定字符串所描述的时间
这里写图片描述

案例1:

#!/bin/bash

##1. 获取当前系统时间 YYYY-MM-DD HH:MM:SS
v_time_eq=`date "+%F %T"`
v_time=`date "+%Y-%m-%d %H:%M:%S"`echo -e "系统当前时间v_time: ${v_time}, v_time_eq: ${v_time_eq} \tv_time 等价于 v_time_eq, 但是v_time 的格式,可读性更强,建议使用。"
##2. 获取指定格式的日期 YYYY-MM-DD, YYYYMMDD, YYYY/MM/DD
v_date=`date -d "$v_time" +%Y%m%d`
v_date_dir=`date -d "$v_time" +%Y/%m/%d`
v_date_hor=`date -d "$v_time" +%Y-%m-%d`echo "系统当前日期v_date: ${v_date}, v_date_dir: ${v_date_dir}, v_date_hor: ${v_date_hor}。感受下不同的格式。"
##3.获取前一天、后一天的日期 YYYYMMDD
v_date_ago_1=`date -d "$v_date -1 day" +%Y%m%d`
v_date_future_1=`date -d "$v_date 1 day" +%Y%m%d`echo "前一天v_date_ago_1: ${v_date_ago_1}, 后一天v_date_future_1: ${v_date_future_1}"
##4.获取前一个月、后一个月的日期 YYYYMMDD
v_date_ago_1month=`date -d "$v_date -1 month" +%Y%m%d`     #遇到2月闰月的时候,会有问题,比如20170329,前一个月会变成20170301
v_date_ago_1month_leap=`date -d "20170329 -1 month" +%Y%m%d`
v_date_future_1month=`date -d "$v_date 1 month" +%Y%m%d`echo "前一个月日期v_date_ago_1month: ${v_date_ago_1month}, 后一个月日期v_date_future_1month: ${v_date_future_1month}"echo "闰2月的时候,会有问题,比如20170329 的前一个月返回的是: ${v_date_ago_1month_leap}, 并不是20170228"
##5.获取前一年、后一年的日期 YYYYMMDD
v_date_ago_1year=`date -d "$v_date -1 year" +%Y%m%d`
v_date_future_1year=`date -d "$v_date 1 year" +%Y%m%d`echo "前一年的日期v_date_ago_1year:${v_date_ago_1year}, 后一年的日期v_date_future_1year: ${v_date_future_1year}"
##6.获取系统当前月份 月初日期 YYYYMMDD
v_month=`date -d "$v_date" +%Y%m`01
v_month_ago_1=`date -d "$v_month -1 month" +%Y%m`01
v_month_future_1=`date -d "$v_month 1 month" +%Y%m`01echo "系统当前月份月初日期v_month:${v_month},上个月月初日期v_month_ago_1:${v_month_ago_1}, 下个月月初日期v_month_future_1:${v_month_future_1}"

运行结果:
这里写图片描述

例子2: 对于单独使用小时、分钟时,会有08,09这样的出现,需要转换成10进制,才能进行计算。

#!/bin/bash
#当小时、分钟是08、09时,计算出现错误,value too great for base (error token is "08") 数值太大不可为算数进制的基 
#原因是shell将08、09当成了8进制数,而8进制数中合法的最大的数字是7,须让Shell强制将08、09当成10进制来解释,在前面加上10#v_hour=`date -d "20170701 08:05:00" +%H`
v_min=`date -d "20170701 08:05:00" +%M`echo "v_hour is ${v_hour}"
echo "v_min is ${v_min}"## 转换成10进制,才能计算
let v_hour=10#${v_hour}
let v_min=10#${v_min}## 计算总的分钟数
let v_total_min=${v_hour}*60+${v_min}
echo "v_total_min is ${v_total_min}"

结果:
这里写图片描述

这篇关于date详解,date操作的案例,转载:https://www.cnblogs.com/kimbo/p/7102203.html的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/918218

相关文章

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

Java中的stream流分组示例详解

《Java中的stream流分组示例详解》Java8StreamAPI以函数式风格处理集合数据,支持分组、统计等操作,可按单/多字段分组,使用String、Map.Entry或Java16record... 目录什么是stream流1、根据某个字段分组2、按多个字段分组(组合分组)1、方法一:使用 Stri

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Java利用@SneakyThrows注解提升异常处理效率详解

《Java利用@SneakyThrows注解提升异常处理效率详解》这篇文章将深度剖析@SneakyThrows的原理,用法,适用场景以及隐藏的陷阱,看看它如何让Java异常处理效率飙升50%,感兴趣的... 目录前言一、检查型异常的“诅咒”:为什么Java开发者讨厌它1.1 检查型异常的痛点1.2 为什么说