使用 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
相关文章
在 PowerShell 中管理服务
发布时间:2024/02/08 浏览次数:116 分类:编程语言
-
本文将讨论 PowerShell 服务 cmdlet、如何使用它们,并开发我们的脚本以在本地或远程管理多台计算机上的服务。
使用 PowerShell 获取 Windows 服务的启动类型
发布时间:2024/02/08 浏览次数:127 分类:编程语言
-
本教程将教你使用 PowerShell 获取启动类型的 Windows 服务。
PowerShell 中的属性 Property 与 ExpandProperty
发布时间:2024/02/08 浏览次数:198 分类:编程语言
-
本文将讨论什么是属性并将它们与扩展属性区分开来。Windows PowerShell 主要集中在显示和生成对象。这些对象由称为属性的特定细节支持。
PowerShell 中的 ExecutionPolicy Bypass 和 Unrestricted
发布时间:2024/02/08 浏览次数:137 分类:编程语言
-
提供了 PowerShell 执行策略作为安全措施。Bypass 和 Unrestricted 是两个重要的策略,可用于跳过几乎所有的安全检查并运行任何脚本。
使用 PowerShell 将文件从 Windows 复制到 Linux
发布时间:2024/02/08 浏览次数:125 分类:编程语言
-
本教程将教你使用 PowerShell 将文件从 Windows 复制到 Linux。
脚本执行后保持 PowerShell 控制台打开
发布时间:2024/02/08 浏览次数:111 分类:编程语言
-
本文将讨论多种解决方案,这些解决方案将使你的 PowerShell 控制台在脚本执行后保持打开状态,包括 NoExit 参数。