Ich entwickle eine Web-App mit einer Kalenderfunktionalität mit FullCalendar.js API. Wenn ich Datum und Uhrzeit auswähle, lautet das Format 06/08/2016 3:36 PM. Sobald die Daten in der Datenbank gespeichert und erneut abgerufen werden. Dann wird das Format geändert in Mi Jun 06 2016 03:36:00 GMT + 1000 (AUS Eastern Standardzeit). Ich möchte das gleiche Format wie 06/08/2016 3:36 PM beibehalten.Datum und Uhrzeit Format in FullCalendarJS
Wenn ich das Datum aus/in die Datenbank speichern/abrufen, wandle ich es in das Format um. Ich habe die SimpleDateFormat-Klasse verwendet, um das Datum von/in String vor und nach dem Einfügen der Daten zu konvertieren. Auch dann wird das Format in der CalendarUI nicht in dd/mm/yyyy geändert.
Kann jemand von Ihnen bitte mich leiten, wie man das Format behält?
AKTUALISIERT
Ich habe meine Quellcode angebracht
private Timestamp convertJSDateToJavaDate(String dat) {
java.util.Date date = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try {
date = new SimpleDateFormat("dd/MM/yyyy hh:mm a").parse(dat);
String newDate = sdf.format(date);
date = sdf.parse(newDate);
} catch (ParseException e) {
e.printStackTrace();
}
return new java.sql.Timestamp(date.getTime());
}
private String convertJavaDateToJSDate(String dat) {
java.util.Date date = null;
String finalDate = "";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
try {
if (dat != null) {
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dat);
finalDate = sdf.format(date);
System.out.println("sdf - " + sdf.format(date));
}
} catch (ParseException e) {
e.printStackTrace();
}
return finalDate;
}
In dem obigen Code, die erste Methode ist, das Datum von Java Script und wandelt in SQL Datum-Zeitstempel und speichert in DB . Die zweite Methode ist genau umgekehrt zur ersten.
var calendar = $('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
selectable: true,
selectHelper: true,
select: function(start, end, allDay) {
$("#calendarModal").modal({keyboard:true});
calendar.fullCalendar('unselect');
},
editable: true,
events: '../displays/getEventCalendar.action',
eventClick: function(calEvent, jsEvent, view) {
$("#calendarModal").modal({keyboard:true});
$("#addEventCalendar_eventBean_start").val(calEvent.start);
$("#addEventCalendar_eventBean_end").val(calEvent.end);
$("#addEventCalendar_eventBean_title").val(calEvent.title);
$("#addEventCalendar_eventBean_description").val(calEvent.description);
$("#addEventCalendar_eventBean_allDay").val(calEvent.allDay);
},
timeFormat:'h:mm'
});
$('.modal form').on('submit', function(event) {
event.preventDefault();
var url = "addEventCalendar.action";
$.ajax({
type: "POST",
url: url,
data: $("#addEventCalendar").serialize(), // serializes the form's elements.
success: function(data)
{
if(data.status){
$('#calendar').fullCalendar('removeEvents');
$('#calendar').fullCalendar('refetchEvents');
}
}
});
});
Ich verwende auch das Struts-Framework. Ereignisse werden als JSON zurückgegeben und der Ereignisvariable im Kalender zugewiesen.
Wenn ich debugge, ist das Datum von Java-Objekt zurückgegebene 06/08/2016 3:36 und diese bestimmte Variable ist String in Java. Aber irgendwie wird es in Java Date Object konvertiert und zeigt das lange an.
Ist dieses Java oder JS Sie reden? Bitte zeigen Sie uns etwas Code. –
"Wed Jun 06 2016 03:36:00 GMT + 1000 (AUS Eastern Standard Time)" ist wahrscheinlich das Java Date-Objekt, das mit den Standard-Locate-Einstellungen zu einem String serialisiert wird. Ich gehe davon aus, dass das DB-Spaltenformat mit Java Date kompatibel ist. Das Format "06/08/2016 3:36 PM" scheint nur ein String zu sein, kein echtes Datumsformat. In Java können Sie Daten mit SimpleDateFormat – Leo
@Leo analysieren und formatieren: Ich habe in dem Beitrag nicht erwähnt, dass ich SDF zum Konvertieren verwendet habe. Ich habe gerade den Beitrag aktualisiert. Auch danach ist das Datumsformat das Date-Objekt von Java. – Anand