Python + SQLite
Many of the answers so far make the mistake of hard-coding the month names. But, you never know when some Pope or President is going to make us switch to another calendar, and then tons of date parsing/formatting code will instantly become worthless! (Or, more commonly, when you need to internationalize your program.)
What you need is a database.
CREATE TABLE tblShortMonthNames (
MonthAbbr CHAR(3) PRIMARY KEY NOT NULL COLLATE NOCASE,
MonthID INTEGER NOT NULL
);
CREATE TABLE tblFullMonthNames (
MonthID INTEGER PRIMARY KEY,
MonthName VARCHAR(9) NOT NULL
);
INSERT INTO tblFullMonthNames VALUES (1, 'January');
INSERT INTO tblFullMonthNames VALUES (2, 'February');
INSERT INTO tblFullMonthNames VALUES (3, 'March');
INSERT INTO tblFullMonthNames VALUES (4, 'April');
INSERT INTO tblFullMonthNames VALUES (5, 'May');
INSERT INTO tblFullMonthNames VALUES (6, 'June');
INSERT INTO tblFullMonthNames VALUES (7, 'July');
INSERT INTO tblFullMonthNames VALUES (8, 'August');
INSERT INTO tblFullMonthNames VALUES (9, 'September');
INSERT INTO tblFullMonthNames VALUES (10, 'October');
INSERT INTO tblFullMonthNames VALUES (11, 'November');
INSERT INTO tblFullMonthNames VALUES (12, 'December');
INSERT INTO tblShortMonthNames
SELECT SUBSTR(MonthName, 1, 3), MonthID FROM tblFullMonthNames;
Then, just write a simple program to query it.
import sqlite3
import sys
QUERY = """SELECT tblFullMonthNames.MonthName
FROM tblShortMonthNames INNER JOIN tblFullMonthNames USING (MonthID)
WHERE tblShortMonthNames.MonthAbbr = ?"""
with sqlite3.connect('months.db') as db:
for abbr in sys.argv[1:]:
row = db.execute(QUERY, [abbr]).fetchone()
if row:
print(row[0])
else:
print(abbr + ' is not a valid month name.')