Here you can find the source of isInAllDayFormat(String date)
Parameter | Description |
---|---|
date | The date to check (Usually this is the start date event) |
public static boolean isInAllDayFormat(String date)
//package com.java2s; /*// w w w .ja va 2 s . c o m * Funambol is a mobile platform developed by Funambol, Inc. * Copyright (C) 2005 - 2007 Funambol, Inc. * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License version 3 as published by * the Free Software Foundation with the addition of the following permission * added to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED * WORK IN WHICH THE COPYRIGHT IS OWNED BY FUNAMBOL, FUNAMBOL DISCLAIMS THE * WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License * along with this program; if not, see http://www.gnu.org/licenses or write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA. * * You can contact Funambol, Inc. headquarters at 643 Bair Island Road, Suite * 305, Redwood City, CA 94063, USA, or at email address info@funambol.com. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License * version 3, these Appropriate Legal Notices must retain the display of the * "Powered by Funambol" logo. If the display of the logo is not reasonably * feasible for technical reasons, the Appropriate Legal Notices must display * the words "Powered by Funambol". */ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public final static String PATTERN_YYYYMMDD = "yyyyMMdd"; public final static int PATTERN_YYYYMMDD_LENGTH = 8; public final static String PATTERN_YYYY_MM_DD = "yyyy-MM-dd"; public final static int PATTERN_YYYY_MM_DD_LENGTH = 10; public final static String PATTERN_UTC = "yyyyMMdd'T'HHmmss'Z'"; public final static int PATTERN_UTC_LENGTH = 16; public final static String PATTERN_UTC_WOZ = "yyyyMMdd'T'HHmmss"; public final static int PATTERN_UTC_WOZ_LENGTH = 15; public final static String PATTERN_UTC_WSEP = "yyyy-MM-dd'T'HH:mm:ss'Z'"; public final static int PATTERN_UTC_WSEP_LENGTH = 20; public final static String PATTERN_LOCALTIME = "dd/MM/yyyy HH:mm:ss"; public final static int PATTERN_LOCALTIME_LENGTH = 19; public final static String PATTERN_LOCALTIME_WOT = "dd/MM/yyyy"; public final static int PATTERN_LOCALTIME_WOT_LENGTH = 10; public final static String PATTERN_YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; public final static int PATTERN_YYYY_MM_DD_HH_MM_SS_LENGTH = 19; /** * Check if the date is into format yyyyMMdd or yyyy-MM-dd. * If the date is in one of this format then the event is an AllDay event * * @param date The date to check (Usually this is the start date event) * @return boolean true if the format is right, otherwise false */ public static boolean isInAllDayFormat(String date) { String pattern = getDateFormat(date); if (pattern == null) { return false; } if (pattern.equals(PATTERN_YYYYMMDD) || pattern.equals(PATTERN_YYYY_MM_DD)) { return true; } return false; } /** * Get the date pattern * * @param date the date to get the format * @return String the pattern */ public static String getDateFormat(String date) { if (date == null || date.equals("")) { return null; } SimpleDateFormat dateFormat = new SimpleDateFormat(); String[] patterns = new String[] { PATTERN_UTC, PATTERN_UTC_WOZ, PATTERN_UTC_WSEP, PATTERN_YYYY_MM_DD, PATTERN_YYYYMMDD, PATTERN_LOCALTIME, PATTERN_LOCALTIME_WOT, PATTERN_YYYY_MM_DD_HH_MM_SS }; int[] patternsLength = new int[] { PATTERN_UTC_LENGTH, PATTERN_UTC_WOZ_LENGTH, PATTERN_UTC_WSEP_LENGTH, PATTERN_YYYY_MM_DD_LENGTH, PATTERN_YYYYMMDD_LENGTH, PATTERN_LOCALTIME_LENGTH, PATTERN_LOCALTIME_WOT_LENGTH, PATTERN_YYYY_MM_DD_HH_MM_SS_LENGTH }; int s = patterns.length; // and also patternsLength.length Date d = null; for (int i = 0; i < s; i++) { try { dateFormat.applyPattern(patterns[i]); dateFormat.setLenient(true); d = dateFormat.parse(date); if (date.length() == patternsLength[i]) { return patterns[i]; } } catch (ParseException e) { continue; } } return null; } }