文章目录
- abstract
- 获取当前日期和时间
- 格式化日期和时间
- 日期计算👺
- 创建自定义日期和时间👺
- **`[datetime]` 类型**及其构造函数
- 缺省值
- 计算日期差异
- 获取特定部分的日期和时间
- 比较日期和时间
- 常用日期操作总结表
- 时间间隔 TimeSpan 👺
- 创建TimeSpan对象
- 1. 使用`New-TimeSpan`命令
- 2. 使用`[TimeSpan]`
- 构造函数`new()`
- 3. 通过字符串解析做类型转换
- TimeSpan 属性
- 常用操作
- 1. 时间间隔相加减
- 2. 时间间隔比较
- 3. 转换为字符串
- 示例总结
- 用例案例
- 触发器用例:在特定时间打开notepad
- 步骤和命令
- 完整命令示例
- 注意事项
abstract
PowerShell 中处理日期和时间非常灵活且功能强大。下面是一些常用的日期和时间操作示例,帮助你更好地理解和使用这些功能。
获取当前日期和时间
格式化日期和时间
可以通过 -Format
参数自定义日期和时间的格式。例如:
常用的格式化字符串包括:
-
yyyy
:四位数年份 -
MM
:两位数月份 -
dd
:两位数日期 -
HH
:24小时制小时 -
mm
:两位数分钟 -
ss
:两位数秒
日期计算👺
可以对日期和时间进行加减操作。例如,获取7天后的日期:
创建自定义日期和时间👺
可以使用 Get-Date
的参数来创建特定的日期和时间。例如:
使用类型转换获取日期对象:
关于运算符[ ] - PowerShell | Microsoft Learn
又比如
时间间隔计算和比较
[datetime]
类型及其构造函数
datetime
是 PowerShell 中用于表示日期和时间的类型。通过将字符串转换为[datetime]
类型,可以将字符串解析为一个日期时间对象。
例如
字符串格式:
- 字符串必须符合能够被解析为日期和时间的格式。常见格式包括
yyyy-MM-dd HH:mm:ss
、MM/dd/yyyy HH:mm:ss
等。
方法小结
方法 | 示例代码 |
|
|
|
|
|
|
这些方法可以帮助你将字符串转换为日期对象,根据具体需求选择合适的方法即可。
缺省值
创建datetime
对象时,如果不是指定一个完整的’年-月-日 时:分:秒’,那么缺省的部分自动采集自当天(执行相关命令的当天)
假设我做此篇记录的时候是2024-7-30,那么有以下效果
计算日期差异
可以使用 [System.DateTime]
类型的方法来计算两个日期之间的差异。例如,计算两个日期之间的天数差异:
获取特定部分的日期和时间
可以从日期和时间对象中提取特定部分,例如年、月、日、时、分、秒:
比较日期和时间
可以直接比较日期和时间对象。例如:
常用日期操作总结表
操作 | 示例代码 |
获取当前日期和时间 |
|
自定义格式输出 |
|
日期加减 |
|
创建自定义日期和时间 |
|
计算日期差异 |
|
提取日期部分 |
|
比较日期和时间 |
|
TimeSpan
是 .NET 和 PowerShell 中用于表示时间间隔(持续时间)的结构。它可以表示从几毫秒到几天的时间跨度。以下是对 TimeSpan
的详细介绍,包括其创建方法、属性和常用操作。
时间间隔 TimeSpan 👺
创建TimeSpan对象
1. 使用New-TimeSpan
命令
可以使用 TimeSpan
的构造函数来创建时间间隔对象。构造函数有多种重载,最常用的是使用天、小时、分钟、秒和毫秒来初始化 TimeSpan
对象。
2. 使用[TimeSpan]
构造函数new()
查看[Timespan]
对象的构造函数有多少种调用方法(一般用的较多的是第二种,即:timespan new(int hours, int minutes, int seconds)
三个参数分别表示:时/分/秒)
3. 通过字符串解析做类型转换
可以通过解析字符串来创建 TimeSpan
对象。
如果是仅仅指定(天/时/分/秒)中的一两项,则使用New-TimeSpan
方法更加方便和具有可读性
TimeSpan 属性
TimeSpan
对象具有多个属性,可以获取其各个组成部分:
常用操作
1. 时间间隔相加减
可以将两个 TimeSpan
对象相加或相减。
2. 时间间隔比较
可以比较两个 TimeSpan
对象的大小。
3. 转换为字符串
可以将 TimeSpan
对象转换为字符串,便于显示或存储。
示例总结
以下是对 TimeSpan
操作的总结表:
操作 | 示例代码 |
创建 |
|
使用构造函数创建 |
|
通过字符串解析创建 |
|
获取属性 |
|
时间间隔相加减 |
|
时间间隔比较 |
|
转换为字符串 |
|
通过这些示例,你可以更好地理解和使用 PowerShell 中的 TimeSpan
对象来处理时间间隔。如果有更多具体问题或需要进一步的解释,请随时提问。
用例案例
触发器用例:在特定时间打开notepad
你可以使用 PowerShell 命令行来创建一个计划任务,在指定的时间(例如14:47:11)打开 Notepad。下面是详细的步骤和命令:
步骤和命令
- 定义任务动作:
首先,定义任务要执行的动作。在这个例子中,任务动作是打开 Notepad。
- 定义任务触发器:
触发器定义了任务何时执行。在这个例子中,我们设置任务在14:47:11执行。
- 创建任务:
创建计划任务并将其注册到任务计划程序。
完整命令示例
将上述步骤结合在一起的完整命令如下:
注意事项
- 权限:
创建和注册计划任务通常需要管理员权限。在运行这些命令之前,确保你以管理员身份运行 PowerShell。 - 时间格式:
确保时间格式正确,特别是日期和时间的格式要符合[datetime]
类型的要求。 - 检查任务:
你可以使用任务计划程序(Task Scheduler)或 PowerShell 查看和验证创建的任务。例如: