Java tutorial
//package com.java2s; /* * Copyright 2015 Schedo Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import android.text.TextUtils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; public class Main { private static final SimpleDateFormat[] ACCEPTED_TIMESTAMP_FORMATS = { new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.US), new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy", Locale.US), new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US), new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z", Locale.US), new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.US), new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US), new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss Z", Locale.US) }; public static long timestampToMillis(String timestamp, long defaultValue) { if (TextUtils.isEmpty(timestamp)) { return defaultValue; } Date d = parseTimestamp(timestamp); return d == null ? defaultValue : d.getTime(); } public static Date parseTimestamp(String timestamp) { for (SimpleDateFormat format : ACCEPTED_TIMESTAMP_FORMATS) { format.setTimeZone(TimeZone.getTimeZone("GMT")); try { return format.parse(timestamp); } catch (ParseException ex) { continue; } } // All attempts to parse have failed return null; } }