Qualcosa del genere, anche se c'e' un errore in quanto ad esempio l'ora diventa 0:20pm quando sommi 2 ore dalle 10:20am, invece dovrebbe essere 12:20pm.

Ma io adesso parto per le ferie, quindi lascio a te come homework il resto della soluzione. Un punto di partenza adesso ce l'hai.

codice:
$(function(){
  var ora = '10:20am',
      fuso = 12,
      oraConFuso;
  
  oraConFuso = ora.replace(/(\d{1,2}):(\d{1,2})(am|pm)/i, function(m,p1,p2,p3,offset,string){
    var t = (parseInt(p1,10)+fuso);
    return t % 12 + ':' + p2 + (t%12===t?p3 : (p3==='am'?'pm':'am'));
  });
  
  document.write(oraConFuso);
  
});
Come riferimento, questo e' quello che ho fatto: https://developer.mozilla.org/en-US/...as_a_parameter

(dove c'e' la faccina sarebbe : ( ma senza spazio in mezzo.)