Linux 脚本 - 日期操作

2023-11-26

我将设置一个日期变量(例如“08-JUN-2011”),我想根据该日期进行一些计算,即,
1. 必须获取给定日期所在月份的第一天。
2. 给定日期所在月份的上一个日期。
3. 给定日期月份的最后一天。

我所知道的是使用当前系统日期和时间进行操作,但不知道如何使用用户定义的日期来实现。我需要使用 Linux shell 脚本来实现这一点。

任何帮助将不胜感激。

Thanks,
卡蒂克


以下是使用 GNU 日期执行操作的方法:

#!/bin/sh

USER_DATE=JUN-08-2011

# first day of the month
FIRST_DAY_OF_MONTH=$(date -d "$USER_DATE" +%b-01-%Y)

PREVIOUS_DAY=$(date -d "$USER_DATE -1 days" +%b-%d-%Y)

# last day of the month
FIRST_DAY_NEXT_MONTH=$(date -d "$USER_DATE +1 month" +%b-01-%Y)
LAST_DAY_OF_MONTH=$(date -d "$FIRST_DAY_NEXT_MONTH -1 day" +%b-%d-%Y)

echo "User date: $USER_DATE"
echo "1. First day of the month: $FIRST_DAY_OF_MONTH"
echo "2. Previous day: $PREVIOUS_DAY"
echo "3. Last day of the month: $LAST_DAY_OF_MONTH"

输出是:

User date: JUN-08-2011
1. First day of the month: Jun-01-2011
2. Previous day: Jun-07-2011
3. Last day of the month: Jun-30-2011
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 脚本 - 日期操作 的相关文章

  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 将文件从不同目录复制到公共目录

    我有很多目录 其中包含 c文件 我想复制全部 c使用 shell 脚本将不同目录中的文件复制到单个目录 find name c exec cp t tmp 启动当前目录中的所有项目 递归 获取名称结尾的项目 c 将这些项目复制到 tmp 如
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • 将 Powershell 输出转换为 Markdown 文件

    我有以下代码 xmlFile C Users kraer Desktop bom xml xml xml Get Content xmlFile xml bom components component ForEach Object fin
  • 在哪里可以找到并安装 pygame 的依赖项?

    我对 Linux 比较陌生 正在尝试安装 python 的 pygame 开发环境 当我运行 setup py 时 它说我需要安装以下依赖项 我找到并安装了其中之一 SDL 然而 其他人则更加难以捉摸 Hunting dependencie
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • 如何判断 Bash 中是否存在文件?

    这会检查文件是否存在 bin bash FILE 1 if f FILE then echo File FILE exists else echo File FILE does not exist fi 我如何只检查文件是否存在not ex
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两
  • 如何将目录及其子目录中的所有 PDF 文件复制到一个位置?

    如何全部复制PDF文件从目录及其子目录到单个目录 实际上还有更多的文件 并且深度有些任意 假设四个目录的最大深度是公平的 我想这些文件需要重命名 如果a pdf例如 位于多个目录中 因为我会adding https ebooks stack
  • NPTL 和 POSIX 线程有什么区别?

    NPTL 和 POSIX 线程之间的基本区别是什么 这两者是如何演变的 POSIX 线程 pthread 不是一个实现 它是几个函数的 API 规范 纸上的标准 英文 其名称以pthread 以及定义在
  • Linux:如何从特定端口发送TCP数据包?

    如何打开原始套接字以从特定 TCP 端口发送 我希望所有连接始终来自临时端口以下的一系列端口 如果您正在使用raw套接字 然后只需在数据包标头中填写正确的 TCP 源端口即可 相反 如果您使用 TCP 套接字接口 socket connec
  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件
  • 在 bash 脚本中提取 XML 值 [重复]

    这个问题在这里已经有答案了 我正在尝试从 xml 文档中提取一个值 该文档已作为变量读入我的脚本中 原始变量 data is
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp
  • Linux 中什么处理 ping?

    我想覆盖 更改 linux 处理 ping icmp echo 请求数据包的方式 这意味着我想运行自己的服务器来回复传入的 icmp 回显请求或其他 数据包 但为了使其正常工作 我想我需要禁用 Linux 的默认 ping icmp 数据包

随机推荐

  • 为什么条件块内的函数声明在 Chrome 中被提升到函数作用域,而在 Firefox 中却没有?

    为什么以下代码在 Chrome 和 Firefox 中输出不同的结果 f function return true g function return false function if g f function f return fals
  • C 中的反转位模式

    我正在将数字转换为二进制并且必须使用putchar输出每个数字 问题是我得到的顺序是相反的 在做我自己的事情之前 有没有办法反转数字位模式 由于 int n 具有特定的位模式 我如何反转该位模式 有很多方法可以做到这一点 有些方法非常快 我
  • 尽快清除透明的 BufferedImage

    我有一个使用以下代码创建的透明 BufferedImage 我认为与它的创建方式无关 GraphicsEnvironment ge GraphicsEnvironment getLocalGraphicsEnvironment Graphi
  • 如何使用 ES6 语法将 Firebase Firestore 导入到 create-react-app 项目中

    我在让 Firebase Firestore 使用基本的 create react app 样板时遇到问题 有人有工作样本吗 The 开始使用doc仅解释了如何设置它require语句 而我想使用 ES6 导入 const firebase
  • ASP.NET MVC 数据注释日期时间默认值

    In my 视图模型我有以下属性 Required DataType DataType Date ErrorMessage Please enter a valid date in the format dd mm yyyy Display
  • sql server 2012 Express不理解俄语字母

    我有正在处理俄语文本的数据库 但是当我运行查询时它会向我显示这一点 数据库将由俄罗斯人使用 它必须正确显示俄语文本 有什么想法如何修复它吗 将来它将位于俄罗斯并与俄语版本的 SQL Server 一起使用 但现在我正在开发英语版本的 SQL
  • 如何将切片作为可变参数输入传递?

    我有一个函数func more t 我想知道是否可以使用切片来填充参数列表 我正在尝试解决以下程序 基本上是模仿一个普通的 shell 它以字符串的形式接收命令 Command函数需要一个参数 列表 我不知道如何将字符串转换为这样的列表 i
  • mysql存储函数参数

    我刚刚开始创建存储函数 这是我第一次 所以我遇到了一些问题 目前我使用调用该函数SELECT test 测试现在是函数名称 我想向函数发送一个数字 用户名 ID 并返回用户名 我通过使用这个工作SELECT test 1 1是表中用户的ID
  • java后台任务

    我想知道哪种方法是在 java 中实现某种后台任务的最有效方法 我猜那将是某种非阻塞线程 更准确地说 我有一些 java 代码 然后在某个时候我需要执行一个长时间运行的操作 我想做的是在后台执行该操作 以便程序的其余部分可以继续执行 当该任
  • 我可以创建没有对角线的底部边框吗? [复制]

    这个问题在这里已经有答案了 我想创建一个具有不同颜色的盒子 左 右和顶部颜色为红色 底部颜色为灰色 但我想要盒子的平坦底部边框 HTML div class ts div CSS ts height 100px width 100px bo
  • UIView-Encapsulated-Layout-Height 和容器视图

    I have UIViewController 1 具有scroll view 里面这个scrollview有container view固定到top bottom leading trailing 没有固定高度 Container vie
  • + 运算符的性能是否低于 StringBuffer.append()

    在我的团队中 我们通常像这样进行字符串连接 var url some dynamically generated URL var sb new StringBuffer sb append a href click here a 显然以下内
  • 在 VS 2008 嵌套母版页中包含对 JavaScript 的相对引用的首选方法

    我们的基本母版页具有如下内容 javascript actions js gt gt javascript jquery jquery 1 2 6 min js gt gt
  • Python list.clear() 时间和空间复杂度?

    我正在写一篇关于 Python 的博客文章list clear 方法 我还想提一下底层算法的时间和空间复杂度 我预计时间复杂度是O N 迭代元素并释放内存 但是 我发现了一个article其中提到它实际上是一个O 1 手术 然后 我在CPy
  • Apache POI,同时使用 XSSF 和 HSSF

    我对 Apache POI 项目有疑问 我使用失败XSSF and HSSF in the 同一个 Java 类 我应该下载哪个 jar 或应该将哪个工件添加到 Maven 中 我想同时处理两者xls and xlsx文件同时 当我收到ex
  • PHP 输出到文件以供下载,无需在服务器上创建文件

    我想将数据输出到文件供用户下载 而无需在服务器上实际创建文件 文件的数据只是一个数组 我将其转换为 CSV 格式以供用户下载 这是我的代码 fh fopen file csv w fputcsv fh arr arr is my array
  • 使用 SO_REUSEADDR - 先前打开的套接字会发生什么?

    在unix网络编程中 我总是在服务器使用的套接字上设置SO REUSEADDR选项来侦听连接 这基本上是说可以在机器上的同一端口上打开另一个套接字 当从崩溃中恢复并且套接字未正确关闭时 这非常有用 应用程序可以重新启动 它只会在同一端口上打
  • 使用条件语句更改数据点的颜色

    我有一个数据集 我用它来制作散点图 我想根据 x 值为三个不同区域内的数据点分配三种不同的颜色 x 值 具有 x 值的数据点 3 1549 我想显示为黑色 x 值 gt 1549 的数据点我想显示为紫色 这是我的散点图代码并完成前两个参数
  • ASP.NET:访问 global.asax 中的会话变量

    我有一个 ASP NET 应用程序 在 Global asax 应用程序错误事件中 我调用一个方法来跟踪 记录错误 我想在这里使用会话变量内容 我使用了下面的代码 void Application Error object sender E
  • Linux 脚本 - 日期操作

    我将设置一个日期变量 例如 08 JUN 2011 我想根据该日期进行一些计算 即 1 必须获取给定日期所在月份的第一天 2 给定日期所在月份的上一个日期 3 给定日期月份的最后一天 我所知道的是使用当前系统日期和时间进行操作 但不知道如何