Listing 1: To-TimeSpan.ps1 # To-TimeSpan.ps1 # converts day:hour:minute:second notation time into seconds # ------- BEGIN CALLOUT A ------- param([string]$Timespan = ` $(Read-Host -Prompt "Enter a time span in [[[days:]hours:]minutes:]seconds format"), $Milliseconds = 0 ) # ------- END CALLOUT A ------- # ------- BEGIN CALLOUT B ------- $values = [System.Collections.ArrayList]$Timespan.Split(":") # ------- END CALLOUT B ------- # ------- BEGIN CALLOUT C ------- while($values.Count -lt 4){$values.Insert(0, 0)} # ------- END CALLOUT C ------- # ------- BEGIN CALLOUT D ------- $values.Insert(4, $Milliseconds) # ------- END CALLOUT D ------- # ------- BEGIN CALLOUT E ------- New-Object system.timespan $values # ------- END CALLOUT E -------