2021-04-20 23:43:17 +00:00
|
|
|
[CmdletBinding()]param(
|
|
|
|
[Parameter(Mandatory,ValueFromPipeline,ValueFromPipelineByPropertyName)]
|
|
|
|
[Alias("Elapsed")]
|
|
|
|
[TimeSpan]$TimeSpan,
|
|
|
|
[switch]$NoSeconds
|
|
|
|
)
|
|
|
|
process {
|
|
|
|
foreach( $local:ts in $TimeSpan ) {
|
|
|
|
$local:out = [string]::Empty
|
|
|
|
if( $ts.Days ) {
|
|
|
|
$out = "$($ts.Days)d "
|
|
|
|
}
|
|
|
|
if( $out -or $ts.Hours ) {
|
|
|
|
$out += "$($ts.Hours)h "
|
|
|
|
}
|
|
|
|
if( $out -or $ts.Minutes -or ($NoSeconds -and -not $out) ) {
|
|
|
|
$out += "$($ts.Minutes)m "
|
|
|
|
}
|
|
|
|
if( -not $NoSeconds -and ($ts.Seconds -or -not $out) ) {
|
|
|
|
$out += "$($ts.Seconds)s"
|
|
|
|
}
|
|
|
|
$out.Trim();
|
|
|
|
}
|
|
|
|
}
|