Android Open Source - PrepayCredit Date Utils






From Project

Back to project page PrepayCredit.

License

The source code is released under:

GNU General Public License

If you think the Android project PrepayCredit listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * This file is part of Prepay Credit for Android
 *//from   w  ww.jav  a  2  s  . co  m
 * Copyright  2013  Damien O'Reilly
 *
 * Prepay Credit for Android is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Prepay Credit for Android 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 General Public License
 * along with Prepay Credit for Android.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Report bugs or new features at: https://github.com/DamienOReilly/PrepayCredit
 * Contact the author at:          damienreilly@gmail.com
 */

package damo.three.ie.util;

import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

import java.util.Calendar;
import java.util.Locale;

public class DateUtils {

    /* Just use dates in the future to influence ordering later */
    public static final Long WONT_EXPIRE = 1893456000000L;
    public static final Long QUEUED = 1577836800000L;
    private static final Long ALREADY_EXPIRED = 0L;

    /**
     * Convert a date as milliseconds to a string representation
     *
     * @param input Date in milliseconds
     * @return {@link String}
     */
    public static String formatDate(Number input) {
        if (input == null || input.longValue() == WONT_EXPIRE) {
            return "Won't expire";
        } else if (input.longValue() == QUEUED) {
            return "Queued";
        }

        DateTime dateTime = new DateTime(input.longValue());
        DateTimeFormatter dateTimeFormatter = DateTimeFormat.mediumDate();

        return dateTimeFormatter.print(dateTime);
    }

    /**
     * Convert a date as milliseconds to a string representation
     *
     * @param input DateTime in milliseconds
     * @return {@link String}
     */
    public static String formatDateTime(long input) {
        DateTime dateTime = new DateTime(input);
        DateTimeFormatter dateTimeFormatter = DateTimeFormat.mediumDateTime();
        return dateTimeFormatter.print(dateTime);
    }

    /**
     * Convert a date as {@link String} to milliseconds as {@link Long}.
     *
     * @param input Date as String
     * @return Date object from inputted string.
     */
    public static Long parseDate(String input) {

        if (input.equals("Today")) {
            return Calendar.getInstance().getTime().getTime();
        } else if (input.equals("Won't expire**")) {
            return WONT_EXPIRE;
        } else if (input.equals("In queue")) {
            return QUEUED;
        } else if (input.equals("Expired")) {
            // for some reason people get usages with expire date of "Expired"
            // it will be filtered out later.
            return ALREADY_EXPIRED;
        } else {

            DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yy").withLocale(Locale.UK);
            DateTime dt = formatter.parseDateTime(input.replace("Expires ", ""));
            return dt.getMillis();
        }
    }

    /**
     * Converts an Out of Bundle date as string to {@link Long}
     *
     * @param outOfBundleDate Out of Bundle date
     * @return Out of bundle date as {@link Long}
     */
    public static Long parseOutOfBundleDate(String outOfBundleDate) {
        DateTimeFormatter formatter = DateTimeFormat.forPattern("dd MMMMM yyyy").withLocale(Locale.UK);
        DateTime dt = formatter.parseDateTime(outOfBundleDate);
        return dt.getMillis();
    }
}




Java Source Code List

damo.three.ie.PrepayCreditApplication.java
damo.three.ie.activity.AboutActivity.java
damo.three.ie.activity.InternetExpirationActivity.java
damo.three.ie.activity.LoginActivity.java
damo.three.ie.activity.PrepayCreditActivity.java
damo.three.ie.activity.SettingsActivity.java
damo.three.ie.fragment.AboutFragment.java
damo.three.ie.fragment.ChangeLogFragment.java
damo.three.ie.fragment.SettingsFragment.java
damo.three.ie.fragment.UpdateFragment.java
damo.three.ie.net.EasySSLSocketFactory.java
damo.three.ie.net.EasyX509TrustManager.java
damo.three.ie.net.ProcessRequest.java
damo.three.ie.net.ThreeHttpClient.java
damo.three.ie.net.ThreeHttpParameters.java
damo.three.ie.prepay.ConnectivityReceiver.java
damo.three.ie.prepay.Constants.java
damo.three.ie.prepay.InternetAddonAlarmManagerReceiver.java
damo.three.ie.prepay.InternetAddonExpireReceiver.java
damo.three.ie.prepay.UpdateAlarmManagerReceiver.java
damo.three.ie.prepay.UpdateAsyncTask.java
damo.three.ie.prepay.UpdateReceiver.java
damo.three.ie.prepay.UpdateService.java
damo.three.ie.prepay.UsageFetcher.java
damo.three.ie.prepayusage.BasicUsageItemExpireSorter.java
damo.three.ie.prepayusage.BasicUsageItemTypeSorter.java
damo.three.ie.prepayusage.BasicUsageItem.java
damo.three.ie.prepayusage.BasicUsageItemsGrouped.java
damo.three.ie.prepayusage.ExpireGroupType.java
damo.three.ie.prepayusage.InternetUsageRegistry.java
damo.three.ie.prepayusage.ItemFactory.java
damo.three.ie.prepayusage.UsageItem.java
damo.three.ie.prepayusage.items.Data.java
damo.three.ie.prepayusage.items.FreeCash.java
damo.three.ie.prepayusage.items.InternetAddon.java
damo.three.ie.prepayusage.items.OutOfBundle.java
damo.three.ie.prepayusage.items.SkypeCalls.java
damo.three.ie.prepayusage.items.Texts.java
damo.three.ie.prepayusage.items.Three2ThreeCalls.java
damo.three.ie.prepayusage.items.TopUp.java
damo.three.ie.prepayusage.items.WeekendVoiceMinutes.java
damo.three.ie.ui.BasicUsageLayout.java
damo.three.ie.ui.ExtendedScrollView.java
damo.three.ie.ui.OutOfBundleLayout.java
damo.three.ie.ui.SlidingTabLayout.java
damo.three.ie.ui.SlidingTabStrip.java
damo.three.ie.ui.ViewPagerAdapter.java
damo.three.ie.util.AccountException.java
damo.three.ie.util.CustomTagHandler.java
damo.three.ie.util.DateUtils.java
damo.three.ie.util.FileUtils.java
damo.three.ie.util.HtmlUtilities.java
damo.three.ie.util.JSONUtils.java
damo.three.ie.util.NumberUtils.java
damo.three.ie.util.PrepayException.java
damo.three.ie.util.UsageUtils.java