写点什么

【21-10】PowerShell 日期和时间

用户头像
耳东
关注
发布于: 2021 年 06 月 17 日
【21-10】PowerShell 日期和时间

时间和日期

在日常的使用过程中不可避免的我们需要进程获取时间和日期,在 PowerShell 中这个指令是 Get-Date 。


接下来我们看一下这个指令。


PS /root> Get-Date
2021年6月12日星期六 下午8:00:02
PS /root>
复制代码


如果要对获取到的时间进行格式化可以使用 -format 参数来进行。对于时间有如下的映射关系


yyyy 年 MM 月 dd 日 h 小时(12 小时制)H 小时(24 小时制)m 分钟 s 秒


接下来对当前的时间进行格式化,


PS /root> Get-Date -format "yyyy-MM-ddTHH:mm:ss"2021-06-12T20:09:47PS /root>
复制代码


获取当天是本年的第几周


PS /root> Get-Date -UFormat %V23PS /root>
复制代码


如果要在 Write-Host 中输出时间,可以使用如下方式


PS /root> Write-Host "$(Get-Date -format "yyyy-MM-ddTHH:mm:ss") is a happy day"
2021-06-12T20:13:30 is a happy dayPS /root>
复制代码


另外获取昨天、明天、前几天,后几天可以使用如下方法


 # 输出昨天PS /root> (Get-Date).adddays(-1)
2021年6月11日星期三 下午8:15:11 # 输出3 天前PS /root> (Get-Date).adddays(-3)
2021年6月9日星期一 下午8:15:32 # 输出明天PS /root> (Get-Date).adddays(1)
2021年6月13日星期五 下午8:15:37 # 输出3 天后PS /root> (Get-Date).adddays(3)
2021年6月15日星期日 下午8:15:41 # 输出3 小时后PS /root> (Get-Date).addHours(3)
2021年6月12日星期日 下午11:15:41 # 输出3 分钟后PS /root> (Get-Date).addMinutes(3)
2021年6月12日星期日 下午8:18:41 # 输出10 秒钟后PS /root> (Get-Date).addSeconds(10)
2021年6月12日星期日 下午8:15:51
复制代码


如果在这个时候需要格式化可以使用如下方式


PS /root> (Get-Date).addhours(3).ToString('yyyy-MM-dd HH:mm:ss')2021-06-12 23:24:18
复制代码


或者使用管道的方式也可以。


PS /root> (Get-Date).adddays(-1)| get-date -format "yyyy-MM-dd HH:mm:ss"2021-06-12 23:24:18
复制代码


如果需要单独获取日期或者时间可以使用如下方式


# 获取日期Get-Date -displayHint Date# 获取时间Get-Date -displayHint Time# 获取日期和时间Get-Date -displayHint datetime
复制代码


除了获取时间,我们还需要修改时间,修改时间我们需要使用 Set-Date


简单粗暴的指定具体时间如下:


Set-Date "2021-06-13 09:20:28"
复制代码


如果是基于当前时间进行调整,一般情况下需要将配合 Get-Date 来一起进行。


# 时间往后调一天Set-Date -Date (Get-Date).AddDays(1)# 时间往前调一天Set-Date -Date (Get-Date).AddDays(-1)
复制代码


接下来我们看一个例子:


Set-Date -adjust -0:10:0
复制代码


此命令设置时间为系统当前时间的 10 分钟之前 . 此命令使用参数 Adjust 指定改变的时间间隔 . 改变的时间 ( 负 10 分钟 ) 表示为本地的标准时间格式


我们看另外一个实现相同功能的例子


> $timeToAdd = New-TimeSpan -Minutes 10> Set-Date -adjust $timeToAdd
复制代码


这些命令可以将系统时间提前 10 分钟 。 第一个命令使用 `New-Timespan` 创建一个 10 分钟时间间隔的 `TimeSpan` 对象 , 然后将 `TimeSpan` 对象存储在 `$timeToAdd` 变量中 ,第二个命令使用 `Set-Date` 参数 `Adjust`, 根据变量 `$timeToAdd` 中 `TimeSpan` 对象的值来调整日期 。

发布于: 2021 年 06 月 17 日阅读数: 9
用户头像

耳东

关注

还未添加个人签名 2020.05.24 加入

主要研究分享运维技术,专注于监控、CICD、操作系统、云原生领域,公众号【耳东学堂】,知识星球同名,坚持原创,希望能和大家在运维路上结伴而行 邮箱:erdong@mail.erdong.site

评论

发布
暂无评论
【21-10】PowerShell 日期和时间