The question was this:
This is just a quick/fast snippet in response to that question, but I can think of a ton of enhancements that could made. Hopefully it will be useful as a starting point for someone to customize for their own use.
function Convert-FriendlyTime
{
param (
[string]$FriendlyTime
)
$Converted = $FriendlyTime.Split(" ")
switch ($Converted[1])
{
"days" { $parms = @{"days"=$Converted[0]}; break ;}
"hours" { $parms = @{"hours"=$Converted[0]}; break ;}
"minutes" { $parms = @{"minutes"=$Converted[0]}; break ;}
"seconds" { $parms = @{"seconds"=$Converted[0]}; break ;}
"default" { $parms = $null; break ;}
}
if ($parms) {
New-TimeSpan @parms
} else {
Throw "Invalid unit of time '$FriendlyTime'. Please use days, hours, minutes or seconds."
}
}
Convert-FriendlyTime -FriendlyTime "2 days"
Convert-FriendlyTime -FriendlyTime "68 hours"
Convert-FriendlyTime -FriendlyTime "68 InvalidUnits"