如何将此转换为12小时格式?
Sun Dec 31 14:45:42 GMT+07:36 1899
2:00 PM
答案 0 :(得分:1)
如果您正在寻找特定于Google Apps脚本的答案,我能想到的最简单的解决方法是更改定义格式的方式。基于此票证的标题,我认为您正在使用此票证:
var date = new Date("Sun Dec 31 14:45:42 GMT+07:00 1899");
var date_24hr = Utilities.formatDate(date, 'GMT+7:00', 'EEE MMM dd HH:mm:ss zXX yyyy');
// logs Sun Dec 31 14:45:42 GMT+07:00 1899
var date_12hr = Utilities.formatDate(date, 'GMT+7:00', 'EEE MMM dd h:mm:ss a zXX yyyy');
// logs Sun Dec 31 02:45:42 PM GMT+07:00 1899
var time_12hr = Utilities.formatDate(date, 'GMT+7:00', 'h:mm a');
// logs 02:45 PM
关键是在formatDate值中使用小写的h
而不是大写的H
。
答案 1 :(得分:0)
var date=new Date();
function formatAMPM(date) {
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
return strTime;
}
formatAMPM(date);
答案 2 :(得分:0)
由于您已将此标记为GAS问题,您是否看过Utilities.formatDate()
?文档here,但简而言之,它需要3个参数:日期对象,时区字符串&amp;格式字符串。 TZ&amp;格式取自Java SE SimpleDateFormat类。
在您的实例中,试试这个:
var d = new Date("Sun Dec 31 14:45:42 GMT+07:36 1899");
Logger.log(Utilities.formatDate(d, "GMT+07:00", "h:mm a")); // logs 2:09 PM