PowerShell v2+, 49 bytes
(date $args[0].insert(4,'-')-f 'MMMyy').ToUpper()
Takes input $args[0]
as an explicit string (e.g., '201604'
) via command-line input. Uses the string.Insert()
function to put a -
in the appropriate space, and that resultant string forms input to the Get-Date
cmdlet with the -f
ormat parameter specifying the three-month shorthand plus two-digit year. We encapsulate that in parens, and tack on a .ToUpper()
to make the output string capitalized. That string is left on the pipeline and printing is implicit.