J'essaie d'afficher le format 24 heures dans fullCalendar, j'essaie d'utiliser ces instructions: http://arshaw.com/fullcalendar/docs/text/timeFormat/
J'ai donc ajouté
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();
}
});
});
mais cela n'a pas fonctionné, j'ai donc ajouté à 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
mais cela n'a pas fonctionné non plus, qu'est-ce que je fais mal?
Vous souhaitez définir la disposition sur un système de 24 heures ou sur les événements.
Si vous voulez ajouter aux événements, mettez comme 22:00 'party' puis ajoutez timeFormat: 'H: mm', à votre fichier json.php.
eventDrop: function (event, delta) {
alert(event.title + ' was moved ' + delta + ' days\n' +
'(should probably update your database)');
},
timeFormat: 'H:mm',
Si vous souhaitez modifier la disposition de votre calendrier, accédez simplement à votre fullCalendar.js
Chercher:
setDefaults
Et changez votre code comme suit.
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
});
Cette option fonctionne maintenant pour moi dans fullCalendar v2:
slotLabelFormat:"HH:mm"
Si vous voulez changer la vue du mois dans la recherche 24H et changer dans fullcalendar.js ceci:
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';
}
};
La réponse la plus votée fonctionne pour les anciennes versions. Pour les versions plus récentes, ajoutez une autre variable dans SetDefaults
:
slotLabelFormat:'H(:mm)',
Cela devrait fonctionner pour les versions plus récentes (2018), comme FullCalendar v3.9.0
im utilisant la version 4.2.0 et cela a fonctionné à la fin des événements:
{
title: 'Birthday Party',
start: '2019-06-13T07:00:00',
eventBackgroundColor: '#ff0000',
allDay:false
}
],
eventTimeFormat: {
hour: '2-digit',
minute: '2-digit',
hour12:false
}
});
Pour une raison quelconque, ces solutions ne fonctionnaient plus pour moi.
Donc, après quelques recherches approfondies (cmd + F), j'ai trouvé cet article parlant de /includes/js/main.js autour de la ligne 107. La ligne 107 vous permet de modifier l'ordre jour/mois/année.
Mais alors! La ligne 113 (ou autour) vous permet de changer am/pm, dans la vue de l'agenda de la semaine et du jour, en une représentation horaire utilisée par le monde entier (à l'exception de certains pays anglophones).
Vous pouvez changer plus si vous le souhaitez, mais ci-dessous, vous trouverez le code pièce qui était assez bon pour que je le montre correctement sur un site néerlandais.
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})})
Et pour votre commodité, vous trouverez ici l'intégralité de main.js corrigé pour le néerlandais: http://Pastebin.com/HYGHRebZ
J'espère que cette solution fonctionnera aussi pour vous!
utilisez ceci pour v.2 plustimeFormat: 'H(:mm)',
axisFormat: 'H:mm',
timeFormat: {
agenda: 'H:mm'
},
il fonctionne à la fois sur agendaDay
vue et événement au format 24 heures
Si vous utilisez fullCalendar v1, vous devez essayer d'ajouter ceux-ci:
$('#calendar').fullCalendar({
[...]// some code,
axisFormat: 'H:mm',
timeFormat: {
agenda: 'H:mm{ - H:mm}'
}
});
Depuis la version 4 de fullCalendar.io, selon l'endroit où vous souhaitez modifier le format, utilisez eventTimeFormat , titleFormat , columnHeaderFormat ou slotLabelFormat (le dernier pour l'axe dans les grilles de temps) sous la forme suivante:
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
}
Les commentaires affichent les options de valeur.
Pour plus de référence: https://fullcalendar.io/docs/date-formatting