我正在尝试在fullCalendar中显示24小时时间格式,我正在尝试使用这些说明:http://arshaw.com/fullcalendar/docs/text/timeFormat/
所以我添加了
timeFormat: {
agenda: 'H(:mm)' //h:mm{ - h:mm}'
},
到json.php:
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
allDayDefault: false,
events: "core/displays/calendar/json-events.php",
defaultView: 'agendaDay',
timeFormat: {
agenda: 'H(:mm)' //h:mm{ - h:mm}'
},
eventDrop: function(event, delta) {
alert(event.title + ' was moved ' + delta + ' days\n' +
'(should probably update your database)');
},
eventClick: function(calEvent, jsEvent, view) {
window.location = "details_view.php?id=" + calEvent.id;
},
loading: function(bool) {
if (bool) $('#loading').show();
else $('#loading').hide();
}
});
});
但这不起作用,所以我已添加到fullCalendar.js
// time formats
titleFormat: {
month: 'MMMM yyyy',
week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}",
day: 'dddd, MMM d, yyyy'
},
columnFormat: {
month: 'ddd',
week: 'ddd M/d',
day: 'dddd M/d'
},
axisFormat: 'H(:mm)', //,'h(:mm)tt',
timeFormat: {
agenda: 'H(:mm)' //h:mm{ - h:mm}'
},
// locale
但这也不起作用,我做错了什么?
答案 0 :(得分:46)
您希望将布局设置为24小时制或事件。
如果你想添加到事件中,请像22:00'party'那样将timeFormat:'H:mm'添加到你的json.php文件中。
eventDrop: function (event, delta) {
alert(event.title + ' was moved ' + delta + ' days\n' +
'(should probably update your database)');
},
timeFormat: 'H:mm',
如果您想更改日历的布局,请转到fullCalendar.js
向上看:
<强> setDefaults 强>
并按以下方式更改您的代码。
setDefaults({
allDaySlot: true,
allDayText: 'Volledige dag',
firstHour: 8,
slotMinutes: 30,
defaultEventMinutes: 120,
axisFormat: 'HH:mm',
timeFormat: {
agenda: 'H:mm{ - h:mm}'
},
dragOpacity: {
agenda: .5
},
minTime: 0,
maxTime: 24
});
答案 1 :(得分:26)
此选项现在适用于fullCalendar v2:
slotLabelFormat:"HH:mm"
答案 2 :(得分:9)
如果您想在24小时搜索中更改月视图并更改fullcalendar.js,请执行以下操作:
var dateFormatters = {
s : function(d) { return d.getSeconds() },
ss : function(d) { return zeroPad(d.getSeconds()) },
m : function(d) { return d.getMinutes() },
mm : function(d) { return zeroPad(d.getMinutes()) },
h : function(d) { return d.getHours() % 24 || 24 }, //modificato : era 12 al posto di 24
hh : function(d) { return zeroPad(d.getHours() % 24 || 24) }, //modificato : era 12 al posto di 24
H : function(d) { return d.getHours() },
HH : function(d) { return zeroPad(d.getHours()) },
d : function(d) { return d.getDate() },
dd : function(d) { return zeroPad(d.getDate()) },
ddd : function(d,o) { return o.dayNamesShort[d.getDay()] },
dddd: function(d,o) { return o.dayNames[d.getDay()] },
M : function(d) { return d.getMonth() + 1 },
MM : function(d) { return zeroPad(d.getMonth() + 1) },
MMM : function(d,o) { return o.monthNamesShort[d.getMonth()] },
MMMM: function(d,o) { return o.monthNames[d.getMonth()] },
yy : function(d) { return (d.getFullYear()+'').substring(2) },
yyyy: function(d) { return d.getFullYear() },
//t : function(d) { return d.getHours() < 12 ? 'a' : 'p' },
//tt : function(d) { return d.getHours() < 12 ? 'am' : 'pm' },
//T : function(d) { return d.getHours() < 12 ? 'A' : 'P' },
//TT : function(d) { return d.getHours() < 12 ? 'AM' : 'PM' },
t : function(d) { return d.getMinutes() == 0 ? ':00' : '' },
tt : function(d) { return d.getHours() < 12 ? '' : '' },
T : function(d) { return d.getHours() < 12 ? '' : '' },
TT : function(d) { return d.getHours() < 12 ? '' : '' },
u : function(d) { return formatDate(d, "yyyy-MM-dd'T'HH:mm:ss'Z'") },
S : function(d) {
var date = d.getDate();
if (date > 10 && date < 20) {
return 'th';
}
return ['st', 'nd', 'rd'][date%10-1] || 'th';
}
};
答案 3 :(得分:2)
最受好评的答案适用于旧版本。
对于较新的版本,请在SetDefaults
中添加另一个变量:
slotLabelFormat:'H(:mm)',
这应该适用于更新版本(2018),例如FullCalendar v3.9.0
答案 4 :(得分:2)
在v4中用于vue.js
<div>
<FullCalendar
[...] // some code
:eventTimeFormat="{
hour: '2-digit',
minute: '2-digit',
hour12: false
}"
/>
</div>
答案 5 :(得分:1)
如果您使用的是fullCalendar v1,则应尝试添加以下内容:
$('#calendar').fullCalendar({
[...]// some code,
axisFormat: 'H:mm',
timeFormat: {
agenda: 'H:mm{ - H:mm}'
}
});
答案 6 :(得分:1)
由于某些原因,这些解决方案对我不起作用了。
所以经过一些广泛的(cmd + F)搜索后,我发现这篇文章在第107行左右谈论/includes/js/main.js。第107行允许你改变日/月/年订单。
但是呢!第113行(或周围)允许您将星期和日期议程视图中的上午/下午更改为全世界使用的时间表示(一些英语国家除外)。
如果您愿意,可以更改更多内容,但在您的下方,我会找到足够好的片段代码,以便我在荷兰网站上正确显示。
TT:function(a){return a.getHours()<12?"AM":"PM"},u:function(a){return Oa(a,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(a){a=a.getDate();if(a>10&&a<20)return"th";return["st","nd","rd"][a%10-1]||"th"}};Aa.applyAll=$a;Ja.month=mc;Ja.basicWeek=nc;Ja.basicDay=oc;wb({weekMode:"fixed"});Ja.agendaWeek=qc;Ja.agendaDay=rc;wb({allDaySlot:true,allDayText:"hele dag",firstHour:8,slotMinutes:30,defaultEventMinutes:120,axisFormat:"HH:mm",timeFormat:{agenda:"h:mm{ - h:mm}"},dragOpacity:{agenda:0.5},minTime:0,
maxTime:22})})
为了您的方便,您可以在这里找到为荷兰语修复的整个main.js:http://pastebin.com/HYGHRebZ
我希望这个解决方案也适合你!
答案 7 :(得分:1)
将此用于v.2加timeFormat: 'H(:mm)',
答案 8 :(得分:1)
axisFormat: 'H:mm',
timeFormat: {
agenda: 'H:mm'
},
它正在处理agendaDay
视图和事件显示24小时格式
答案 9 :(得分:1)
im使用4.2.0版,并在事件结束时使用它:
{
title: 'Birthday Party',
start: '2019-06-13T07:00:00',
eventBackgroundColor: '#ff0000',
allDay:false
}
],
eventTimeFormat: {
hour: '2-digit',
minute: '2-digit',
hour12:false
}
});
答案 10 :(得分:0)
从fullCalendar.io版本4开始,根据您希望更改格式的位置,使用eventTimeFormat,titleFormat,columnHeaderFormat或slotLabelFormat(最后一个用于时间网格中的轴),格式如下:
eventTimeFormat: {
hour: '2-digit', //2-digit, numeric
minute: '2-digit', //2-digit, numeric
second: '2-digit', //2-digit, numeric
meridiem: false, //lowercase, short, narrow, false (display of AM/PM)
hour12: false //true, false
}
注释显示值选项。
答案 11 :(得分:0)
对于v.4,我需要24小时格式的类似内容:
slotLabelFormat: {hour: 'numeric', minute: '2-digit', hour12: false}
答案 12 :(得分:0)
在v4中,您可以通过编程方式设置日历选项,以实现网格左侧的小时标签的24h格式:
const slotLabelOption = {
hour: 'numeric',
minute: '2-digit',
omitZeroMinute: false,
meridiem: 'narrow',
hour12: false
};
calendar.setOption('slotLabelFormat', slotLabelOption);
对于事件时间,请执行以下操作:
const eventTimeOption = {
hour: 'numeric',
minute: '2-digit',
omitZeroMinute: false,
meridiem: 'narrow',
hour12: false
};
calendar.setOption('eventTimeFormat', eventTimeOption);
with calendar = new FullCalendar.Calendar(....)//无论如何初始化