This is a quick example of some of the stuff you can do with Humanizer to make your script’s output a bit more user friendly.

Strings from numbers.

PS C:\temp> [Humanizer.NumberToWordsExtension]::ToWords(2) two PS C:\temp> [Humanizer.NumberToWordsExtension]::ToWords(253) two hundred and fifty-three PS C:\temp> [Humanizer.ToQuantityExtensions]::ToQuantity("box", 4) 4 boxes

New up a TimeSpan object.

PS C:\temp> [Humanizer.NumberToTimeSpanExtensions]::Weeks(2) Days : 14 Hours : 0 Minutes : 0 Seconds : 0 Milliseconds : 0 Ticks : 12096000000000 TotalDays : 14 TotalHours : 336 TotalMinutes : 20160 TotalSeconds : 1209600 TotalMilliseconds : 1209600000

Remove underscores.

PS C:\temp> [Humanizer.StringHumanizeExtensions]::Humanize("Underscored_input_String_is_turned_INTO_sentence") Underscored input String is turned INTO sentence

Truncation

PS C:\temp> [Humanizer.Truncator]::Truncate("Long text to truncate", 10) Long text…

Turn TimeSpan objects into human readable values.

PS C:\temp> $past = get-date PS C:\temp> $later = Get-Date PS C:\temp> [Humanizer.TimeSpanHumanizeExtensions]::Humanize( $later - $past) 11 seconds PS C:\temp> dir | select -First 5 @{l="File last modified";e={[Humanizer.DateHumanizeExtensions]::Humanize($_.LastWriteTime)}} File last modified ------------------ 7 months ago 7 months ago 7 months ago 7 months ago one year ago

PS C:\temp> [Humanizer.In+Five]::Months Wednesday, September 10, 2014 7:37:55 PM PS C:\temp> [Humanizer.In+Five]::Years Wednesday, April 10, 2019 7:49:23 PM PS C:\temp> [Humanizer.In]::MayOf(2015) Friday, May 01, 2015 12:00:00 AM PS C:\temp> [Humanizer.In]::April Tuesday, April 01, 2014 12:00:00 AM PS C:\temp> [Humanizer.In+Two]::MonthsFrom([Humanizer.On+April]::The10th) Tuesday, June 10, 2014 12:00:00 AM

Even support for Roman Numeral generation.

PS C:\temp> [Humanizer.RomanNumeralExtensions]::ToRoman(2014) MMXIV

Update: Check out the follow-up on how to make this easier to work with.