使用 PowerShell 获取日期和时间
PowerShell 可以做很多事情,并且像任何合适的编程语言一样,它几乎可以做任何我们想要的日期和时间。使用 Windows PowerShell Get-Date
cmdlet 和其他技术,你可以找到今天的日期、明天的日期、格式化日期等。
本文将解释我们如何获取当前日期和时间以及 DateTime
对象如何在 PowerShell 中工作。
在 PowerShell 中获取日期和时间
使用 Windows PowerShell 发现当前日期和时间的方法之一是使用 Get-Date
命令。此 cmdlet 显示当前日期和时间。
Get-Date
输出:
Wednesday, 9 March 2022 8:14:34 pm
默认情况下,Get-Date
命令看起来只返回当前日期和时间,但实际上,它会产生更多信息。要查找此信息,请通过管道输出下方的 Format-List
cmdlet。
Get-Date | Format-List
输出:
DisplayHint : DateTime
Date : 08/03/2022 12:00:00 am
Day : 8
DayOfWeek : Wednesday
DayOfYear : 68
Hour : 20
Kind : Local
Millisecond : 671
Minute : 18
Month : 3
Second : 1
Ticks : 637824538816714508
TimeOfDay : 20:18:01.6714508
Year : 2022
DateTime : Wednesday, 9 March 2022 8:18:01 pm
你还可以使用 Get-Member
命令通过运行 Get-Date | 查找所有对象属性。获取成员
命令。
如果我们检查对象的类型 Get-Date | Get-Member
返回时,你会注意到 System.DateTime
对象类型。这个类公开了我们看到的所有属性和方法。
我们可以使用下面的命令来发现它的对象类型。
(Get-Date).GetType().FullName
输出:
System.DateTime
一旦我们看到所有可用的属性,我们就可以用点 (.)
表示法来引用它们,如下所示。
(Get-Date).Year
(Get-Date).DayOfWeek
(Get-Date).Month
(Get-Date).DayOfYear
输出:
2022
Wednesday
3
68
在 PowerShell 中使用 DateTime 方法的日期运算
Get-Date
返回的 System.DateTime
对象具有各种方法,你可以调用这些方法来添加或删除时间块。例如,如果我们运行 Get-Date | Get-Member
,我们将看到以 Add
开头的不同技术。
Get-Date | Get-Member | Where {$_.Name -like "Add*"}
输出:
TypeName: System.DateTime
Name MemberType Definition
---- ---------- ----------
Add Method datetime Add(timespan value)
AddDays Method datetime AddDays(double value)
AddHours Method datetime AddHours(double value)
AddMilliseconds Method datetime AddMilliseconds(double value)
AddMinutes Method datetime AddMinutes(double value)
AddMonths Method datetime AddMonths(int months)
AddSeconds Method datetime AddSeconds(double value)
AddTicks Method datetime AddTicks(long value)
AddYears Method datetime AddYears(int value)
你将在以下命令中看到一些调用这些方法及其输出的内容。
#Adding 8 days to the current date
(Get-Date).AddDays(8)
#Adding 3 hours to the current time
(Get-Date).AddHours(3)
#Adding five years to the current date
(Get-Date).AddYears(5)
#Subtracting 7 days from the current date using a negative number.
(Get-Date).AddDays(-7)
输出:
Thursday, 17 March 2022 8:28:57 pm
Wednesday, 9 March 2022 11:28:57 pm
Tuesday, 9 March 2027 8:28:57 pm
Tuesday, 1 March 2022 8:28:57 pm
在 PowerShell 中比较日期
你还可以使用标准 PowerShell 运算符比较日期。例如,PowerShell 知道日期何时小于
(早于)或大于
(晚于)另一个日期。
要比较日期,请使用 Get-Date
创建两个 DateTime
对象,或者使用 [DateTime]
转换字符串,然后使用标准 PowerShell 运算符,如 -lt
或 -gt
。我们可以在下面看到一个比较日期的简单示例。
#Declaring the date
$Date1 = (Get-Date -Month 10 -Day 14 -Year 2021)
$Date2 = Get-Date
$Date1 -lt $Date2
输出:
True
在 PowerShell 中将字符串转换为 DateTime 对象
要将字符串变量转换为 DateTime
对象,请在字符串(或变量)前加上 [DateTime]
数据类型。当我们这样做时,Windows PowerShell 会尝试将字符串解释为日期和时间,然后提供此对象类型上可用的所有属性和方法。
$Date = "2020-09-07T13:35:08.4780000Z"
[DateTime]$Date
输出:
Monday, 7 September 2020 5:35:08 pm
PowerShell 中的日期时间
方法
操纵 DateTime
对象如何在控制台中显示的一种方法是对 DateTime
对象使用多种方法。DateTime
对象有四种方法来操作格式。
-
ToLongDateString()
-
ToShortDateString()
-
ToLongTimeString()
-
ToShortTimeString()
让我们看一个使用 ToShortDateString()
和 ToShortTimeString()
方法的示例。
[DateTime]$Date = $Date
$date.ToShortDateString() + " " + $date.ToShortTimeString()
输出:
9/7/2020 7:05 PM
在 PowerShell 中格式化 DateTime
对象
要更改 DateTime
对象的日期和时间格式,请使用 Get-Date
命令生成对象并使用 -Format
参数更改布局。 -Format
参数接受字符串,表示日期/时间字符串的外观。
Get-Date -Format "dddd dd-MM-yyyy HH:mm K"
输出:
Wednesday 09-03-2022 21:21 +04:00
相关文章
在 Windows PowerShell 中获取命令行参数
发布时间:2024/03/04 浏览次数:358 分类:编程语言
-
本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。
Windows PowerShell 中的 Base64 编码
发布时间:2024/03/04 浏览次数:332 分类:编程语言
-
本文将展示如何编码和解码 base64 字符串。Windows PowerShell 当前版本没有本机命令,因此我们将向你展示如何执行此操作的替代方法。
在 Windows PowerShell 中写入输出
发布时间:2024/03/04 浏览次数:259 分类:编程语言
-
本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。
在 Windows PowerShell 中设置 PATH 环境变量
发布时间:2024/03/04 浏览次数:350 分类:编程语言
-
本文将展示在 Windows PowerShell 中设置路径环境变量的正确方法。本文还展示了如何在持久性和非持久性方法中设置变量。
在 Windows PowerShell 中打印环境变量
发布时间:2024/03/04 浏览次数:869 分类:编程语言
-
本文将讨论什么是环境变量以及如何使用多个 Windows PowerShell 命令打印它们。
在 PowerShell 中注释代码
发布时间:2024/03/04 浏览次数:363 分类:编程语言
-
本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。
在 PowerShell 中执行 LDAP 查询
发布时间:2024/03/04 浏览次数:304 分类:编程语言
-
本文将深入了解如何使用 Active Directory 过滤器和 LDAP 过滤器。