The following code works for the examples you posted:
DECLARE @Input TABLE ([Date] VARCHAR(14))
INSERT INTO @Input
SELECT '20Jul 15:46:1' UNION ALL
SELECT '22Jul 06:21:8'
SELECT CONVERT(DATETIME, SUBSTRING([Date],1,2) + ' ' + SUBSTRING([Date],3, LEN([Date]) - 2) + ' 2009') FROM @Input