 		punctuation["月"] = {general:true, date:true, time:false};
 		punctuation["日"] = {general:true, date:true, time:false};
 		punctuation["午"] = {general:false, date:false, time:true};
-		
 		// Korean
 		punctuation["년"] = {general:true, date:true, time:false};
 		punctuation["월"] = {general:true, date:true, time:false};
 		punctuation["일"] = {general:true, date:true, time:false};
+		
+		ampm["PM"] = true;
+		ampm["pm"] = true;
+		ampm["\u33D8"] = true; // unicode pm
+		ampm["μμ"] = true; // Greek
+		ampm["午後"] = true; // Japanese
+		ampm["上午"] = true; // Chinese
+		ampm["오후"] = true; // Korean
 		
         // Strip out the Timezone. It is not used by the DateFormatter
         var timezoneRegEx:RegExp = /(GMT|UTC)((\+|-)\d\d\d\d )?/ig;

                else if (punctuation.hasOwnProperty(letter) && punctuation[letter].time)
                {
                    if (hour < 0)
                        hour = num;
                    else if (min < 0)
                        min = num;
					else if (sec < 0)

                    }
                }
                marker = 0;
				
				// Other lacales AM/PM 
				if (ampm.hasOwnProperty(word))
				{
					isPM = true;
					
					if (hour > 12)
						break; // error
					else if (hour >= 0)
						hour += 12;
				}
            }
            
            else if ("0" <= letter && letter <= "9")
