Skip to content

Package: DateUtil

DateUtil

nameinstructionbranchcomplexitylinemethod
convertCalendarToXMLGregorianCalendar(Calendar)
M: 51 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 10 C: 0
0%
M: 1 C: 0
0%
convertOnlyDateToXMLGregorianCalendar(Calendar)
M: 0 C: 41
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 10
100%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
3: *
4: * All rights reserved. This program and the accompanying materials
5: * are made available under the terms of the Eclipse Public License 2.0
6: * which accompanies this distribution, and is available at
7: * https://www.eclipse.org/legal/epl-2.0/
8: *
9: * SPDX-License-Identifier: EPL-2.0
10: *
11: * Contributors:
12: * Eugen - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.edit.internal.swt.util;
15:
16: import java.util.Calendar;
17:
18: import javax.xml.datatype.DatatypeConstants;
19: import javax.xml.datatype.XMLGregorianCalendar;
20:
21: import org.eclipse.emf.ecore.xml.type.internal.XMLCalendar;
22:
23: /**
24: * Helper class for Date conversion.
25: *
26: * @author Eugen Neufeld
27: *
28: */
29: public final class DateUtil {
30:
31:         private DateUtil() {
32:         }
33:
34:         /**
35:          * Convert a {@link Calendar} object to an {@link XMLGregorianCalendar} (to the {@link XMLCalendar} implementation)
36:          * which contains only the date without the timezone.
37:          *
38:          * @param calendar the {@link Calendar} to convert
39:          * @return the {@link XMLGregorianCalendar} containing only the date
40:          */
41:         public static XMLGregorianCalendar convertOnlyDateToXMLGregorianCalendar(Calendar calendar) {
42:                 final XMLGregorianCalendar cal = new XMLCalendar(calendar.getTime(), XMLCalendar.DATE);
43:
44:                 cal.setYear(calendar.get(Calendar.YEAR));
45:                 cal.setMonth(calendar.get(Calendar.MONTH) + 1);
46:                 cal.setDay(calendar.get(Calendar.DAY_OF_MONTH));
47:                 cal.setTimezone(DatatypeConstants.FIELD_UNDEFINED);
48:                 cal.setHour(DatatypeConstants.FIELD_UNDEFINED);
49:                 cal.setMinute(DatatypeConstants.FIELD_UNDEFINED);
50:                 cal.setSecond(DatatypeConstants.FIELD_UNDEFINED);
51:                 cal.setMillisecond(DatatypeConstants.FIELD_UNDEFINED);
52:                 return cal;
53:         }
54:
55:         /**
56:          * Convert a {@link Calendar} object to an {@link XMLGregorianCalendar} (to the {@link XMLCalendar} implementation).
57:          *
58:          * @param calendar the {@link Calendar} to convert
59:          * @return the {@link XMLGregorianCalendar}
60:          */
61:         public static XMLGregorianCalendar convertCalendarToXMLGregorianCalendar(Calendar calendar) {
62:                 final XMLGregorianCalendar cal = new XMLCalendar(calendar.getTime(), XMLCalendar.DATETIME);
63:
64:                 cal.setYear(calendar.get(Calendar.YEAR));
65:                 cal.setMonth(calendar.get(Calendar.MONTH) + 1);
66:                 cal.setDay(calendar.get(Calendar.DAY_OF_MONTH));
67:                 cal.setTimezone(calendar.get(Calendar.ZONE_OFFSET / 6000));
68:                 cal.setHour(calendar.get(Calendar.HOUR_OF_DAY));
69:                 cal.setMinute(calendar.get(Calendar.MINUTE));
70:                 cal.setSecond(calendar.get(Calendar.SECOND));
71:                 cal.setMillisecond(calendar.get(Calendar.MILLISECOND));
72:                 return cal;
73:         }
74:
75: }