我正在开发网络应用程序,我们正在使用CK编辑器日历。我在其中执行以下代码获取Date & Time
..
代码:
var strDate = new Date(event.start);
var endDate = new Date(event.end);
var title='Event :'+event.title+'
From :'+ event.start.toLocaleString() +'To:'+event.end.toLocaleString()+' By :';
输出:
Fri Feb 13 2015 10:37:00 GMT+0000 To :Fri Feb 13 2015 10:37:00 GMT+0000
期望输出:
在上面的输出中,它应该删除 GMT + 0000 ,替换正确的会话是否AM / PM 。
答案 0 :(得分:2)
以下功能应该可以满足你的需要。它解析字符串以使用UTC值创建日期对象,然后调整UTC时间以获得IST(+0530),然后返回具有等效IST值的格式化字符串。
// Expects string in format: Fri Feb 13 2015 10:37:00 GMT+0000
// Assumes is UTC
// Returns values in IST
function parseAndFormat(s) {
// Helper
function z(n){return (n<10? "0":'') + n;}
// Split into parts
var b = s.split(/[ :]/);
var m = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
var days = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];
// Create a date based on UTC values
var d = new Date(Date.UTC(b[3], m.indexOf(b[1]), b[2], b[4], b[5], b[6]));
// Add 5 hours 30 minutes to the UTC time -> IST
d.setUTCHours(d.getUTCHours() + 5, d.getUTCMinutes() + 30);
// Format the hours for am/pm
var hr = d.getUTCHours();
var ap = hr > 11? 'PM' : 'AM';
hr = hr%12 || 12;
// Format the output based on the adjusted UTC time
var dt = days[d.getUTCDay()] + ' '
+ m[d.getUTCMonth()] + ' '
+ d.getUTCDate() + ' '
+ d.getUTCFullYear() + ' '
+ z(hr) + ':'
+ z(d.getUTCMinutes()) + ':'
+ z(d.getUTCSeconds()) + ' '
+ ap;
return dt;
}
console.log(parseAndFormat('Fri Feb 13 2015 10:37:00 GMT+0000')) // Fri Feb 13 2015 04:07:00 PM
console.log(parseAndFormat('Fri Feb 13 2015 20:37:00 GMT+0000')) // Sat Feb 14 2015 02:07:00 AM
此方法适用于本地值,除非夏令时妨碍。请注意,这始终是IST,它不会调整在使用它的地方观察到的夏令时。
修正了12小时转换。
答案 1 :(得分:1)
你在标签中加入了jQuery,所以我假设你可以使用jQuery插件。 jQuery-dateFormat易于使用。
var date = new Date();
var fDate = $.format.date(date, 'E MMM dd yyyy hh:mm:ss a');
$('#date').text(fDate);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://raw.githubusercontent.com/phstc/jquery-dateFormat/master/dist/jquery-dateFormat.min.js"></script>
<div id="date"></div>