PowerShell Time Multiplication

Hello,

PowerShell is a great tool for date and time manipulation. I will show you a few example about how to use PowerShell to addition/subtract TimeSpan to DataTime object, and how to multiply TimeSpan.

## PowerShell Time Multiplication – Addition

(New-TimeSpan -Hours 3) + (New-TimeSpan -Hours 3)

## PowerShell Time Multiplication – Subtract TimeSpan to DateTime

You can add TimeSpan seamlessly, and then use it with DateTime objects to compare dates, or calculate date with a TimeSpan subtraction/addition :

(Get-Date) - ((New-TimeSpan -Hours 3) + (New-TimeSpan -Hours 3))

## PowerShell Time Multiplication – Multiplication

Addition and subtraction is nice, but what about multiplication ? Indeed, you may want to multiply TimeSpan before adding them to a DateTime Let’s try it :

(New-TimeSpan -Hours 3) * 2

Method invocation failed because [System.TimeSpan] does not contain a method named ‘op_Multiply’.

At line:1 char:1

+ (New-TimeSpan -Hours 3) * 2

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : InvalidOperation: (op_Multiply:String) [], RuntimeException

+ FullyQualifiedErrorId : MethodNotFound

As you can read, this does not work,there is no multiply method on a TimeSpan object :

but you can trick cheat :

1..4 | % -Begin {$Total = 0} -Process {$Total += (New-TimeSpan -Hours 3)} -End {$Total}

Et voilà, you can multiply TimeSpan objects even if the objects don’t have the “Multiply” method !