PowerShell中的TimeSpan时间差对象使用实例_PowerShell

TimeSpan对象表示一个时间差,比如今天的10点10分,和明天的12点12分,就差1天2小时2分。这个“1天2小时2分”就是一个TimeSpan。这个东西有什么用呢?小编之前在做一个小东西的时候,需要评估一下两个不同的方法看哪个效率更高。于是小编在程序开始的时候,设置一个起始时间,在程序结束的时候再设置一个结束时间,然后两个时间一相减,得到一个时间差,洪哥以时间差小者为优。

下面是几个使用TimeSpan对象的例子:

创建一个TimeSpan对象,表示1天3小时

复制代码 代码如下:

New-TimeSpan -Days 1 -Hours 3

创建一个TimeSpan对象,表示当前时间到'2013-12-24 18:30:00'之前的时间差

复制代码 代码如下:

New-Timespan -End '2013-12-24 18:30:00'

# get a timespan by subtracting two dates:

通过两个时间相减,得到一个TimeSpan时间差对象

复制代码 代码如下:

[DateTime]'2013-12-24 18:30:00'  - (Get-Date)

今天减一天,[TimeSpan]'1.00:00:00'表示时间差1天

复制代码 代码如下:

(Get-Date) - [TimeSpan]'1.00:00:00'

取时间差中的天数

复制代码 代码如下:

$days = (New-Timespan -End '2013-12-24 18:30:00').Days
"Days to Christmas: $days"

取时间差的负数

复制代码 代码如下:

$timespan = New-TimeSpan -Days 1
$timespan.Negate()
$timespan

直接创建一个负的时间差

复制代码 代码如下:

New-TimeSpan -Days -1

时间: 2024-10-12 02:58:47

PowerShell中的TimeSpan时间差对象使用实例_PowerShell的相关文章

PHP 中TP5 Request 请求对象的实例详解

PHP 中TP5 Request 请求对象 public/index.php <?php // [ 应用入口文件 ] // 定义应用目录 define('APP_PATH', __DIR__ . '/../app/'); // 定义配置文件目录和应用目录同级 define('CONF_PATH', __DIR__.'/../config/'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php'; app\index\controller

PowerShell中常用的一些特殊运算符介绍_PowerShell

&,调用运算符. 语法:& <可执行文件路径> [<参数列表>] 举例: 复制代码 代码如下: $execPath="D:\Progra~1\FlashFXP\flashfxp.exe" $execArgs="-upload ftp://u:p@ip:21 " $execArgs=$execArgs+"-remotepath=`"/`" " $execArgs=$execArgs+&qu

PowerShell中使用Filter来创建管道输入函数_PowerShell

本文介绍在自定义PowerShell函数时,不使用Function而使用Filter.Filter可以快速的创建一个管道输入函数,Filter就相当于只有一个Process块的Function. Filter关键词可以代替Function关键词来创建函数.但Filter创建的函数,只能是接收管道输入参数的参数,并且是接收块结构数据的输入.所以在Filter定义的函数里面,你都看不到接收输入参数. 在Filter定义的函数中,使用$_变量,来遍历所有的输入对象. 复制代码 代码如下: Filter

PowerShell中使用return语句退出函数例子_PowerShell

本文介绍在自定义PowerShell函数时,可以使用return语句来退出函数,同时return语句也可以返回值给函数的调用者. 使用return语句来直接退出函数.看一个退出函数的例子: 复制代码 代码如下: function Get-NamedProcess {     param     ($name=$null)     if ($name -eq $null)     {         Write-Host -ForegroundColor Red 'Specify a name!'

PowerShell中对函数参数的命名建议_PowerShell

PowerShell自定义函数的参数没有具体的命名规则,那么怎么做才能让参数的命名更加科学可持续. 我们应该怎么来命名函数的参数名称呢?有没有一个可供参考的列表?当然微软没有给出来.但是我们可以来理一个列表出来.微软自带了大量的cmdlet,这些cmdlet使用的参数有什么规律呢?我们用下面一段命令来统计一下. 复制代码 代码如下: Get-Command -CommandType Cmdlet | ForEach-Object { $_.Parameters } | ForEach-Objec

Powershell使用WPF技术实现弹窗提示实例_PowerShell

WPF (Windows Presentation Foundation) 技术能让你创建窗口和对话框.它的优势是在窗体设计时能与代码分开. 这里有个简单的显示弹出消息练习.这个消息是定义在XAML代码中它的实现类似HTML(但是请区分大小写).你能轻松的调整字体大小,内容,颜色等等.不需要嵌入任何代码. 复制代码 代码如下: $xaml = @"<Window xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation

PowerShell函数使用正则表达式验证输入参数实例_PowerShell

本文介绍在自定义PowerShell函数时,输入的参数是否合法可以通过正则表达式来进行约束.正则表达式来约束输入参数,将使用ValidatePattern指令. 之前我们通过ValidateSet来作为参数的智能提示,其实它也起到了对参数输入合规性的检查.因为ValidateSet是规定了一个输入参数的范围,不在这个范围内的参数,一是不能智能提示,另外,即便是输入了,它也无法通过函数的输入参数合规性检查,从而程序无法继续执行. 那么既然ValidateSet是以一个集合的形式来检查输入参数,那么

Powershell中调用邮件客户端发送邮件的例子_PowerShell

你可以使用Send-MailMessage发送邮件,但是你想从你默认MAPI客户端准备发送一份邮件,这也不是很麻烦: 复制代码 代码如下: $subject = 'Sending via MAPI client'$body = 'My Message'$to = 'tobias@powertheshell.com' $mail = "mailto:$to&subject=$subject&body=$body" Start-Process -FilePath $mail

PowerShell中文件对象的属性方法总结_PowerShell

本文介绍一个PowerShell中文件对象有哪些属性,知道了这些属性对于我们更好的对文件进行操作是非常重要的. PowerShell是一个面向对象的脚本语言,在PowerShell中,所有的都是对象,文件也是对象.既然是对象,那肯定有属性.PowerShell中的文件对象,其实就是.NET中的System.IO.FileInfo类的实例.我们要查看完整的PowerShell文件对象的属性,其实不需要去翻MSDN,然后把System.IO.FileInfo类的属性找出来,那样太麻烦了,而且貌似在P