What exactly do the "T" and "Z" represent?
EDIT: Here's my guess at it; might be a bit clunky as there are no guarantees that this is the best way to go about doing it:
<script type="text/javascript">
var d_str = "2008-12-20T09:46:01Z";
bound = d_str.indexOf('T');
d_date = d_str.slice(0, bound).split('-');
d_time = d_str.slice(bound+1, -1).split(':');
document.write(Date.UTC(d_date[0],d_date[1]-1,d_date[2],d_time[0],d_time[1],d_time[2]));
</script>