Popular Posts
Enable SSL connection for Jsoup import org.jsoup.Connection; import org.jsoup.Jsoup; import javax.net.ssl.*; import java.io.IOException; import java.security.KeyManagement... javax.net.ssl.SSLHandshakeException: Connection closed by peer in Android 5.0 Lollipop Recently, there is a error occurs when access website via ssl connection like below although it worked fine several days ago. // Enable SSL... Tired of Hibernate? Try JDBI in your code JDBI Quick sample ICategoryDAO.java : create a data access interface (implement is not required) package com.prhythm.erotic.task.data....
Stats
DateHelper
package bruce.lib;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**
 * @author NaNashi
 * 
 */
public class DateHelper {
    private final static SimpleDateFormat LOG_DATE = new SimpleDateFormat("yyyyMMdd", Locale.US);
    private final static SimpleDateFormat DATE_ONLY = new SimpleDateFormat("yyyy/MM/dd", Locale.US);
    private final static SimpleDateFormat FULL_DATE = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss", Locale.US);

    public final static String logDate() {
        return LOG_DATE.format(new Date());
    }

    public final static String formatDate(Date date) {
        return date == null ? null : DATE_ONLY.format(date);
    }

    public final static String formatFullDate(Date date) {
        return date == null ? null : FULL_DATE.format(date);
    }

    public final static Date parseDate(String source) {
        return parseDate(source, false);
    }

    public final static Date parseDate(String source, boolean returnNowOnfailed) {
        try {
            return DATE_ONLY.parse(source);
        } catch (Exception e) {
            return returnNowOnfailed ? new Date() : null;
        }
    }

    public final static Date parseFullDate(String source) {
        return parseDate(source, false);
    }

    public final static Date parseFullDate(String source, boolean returnNowOnfailed) {
        try {
            return FULL_DATE.parse(source);
        } catch (Exception e) {
            return returnNowOnfailed ? new Date() : null;
        }
    }

    public final static String diffTime(Date before, Date after) {
        long sticks = Math.abs(before.getTime() - after.getTime());
        int seconds = (int) (sticks / 1000);
        int minutes = seconds / 60;
        int hours = minutes / 60;
        int days = hours / 24;

        StringBuilder sb = new StringBuilder();
        if (days > 0) {
            sb.append(days).append("天");
            hours -= days * 24;
            minutes -= days * 24 * 60;
            seconds -= days * 24 * 60 * 60;
        }
        if (hours > 0) {
            sb.append(hours).append("小時");
            minutes -= hours * 60;
            seconds -= hours * 60 * 60;
        }
        if (hours > 0 || minutes > 0) {
            sb.append(minutes).append("分");
            seconds -= minutes * 60;
        }

        sb.append(seconds).append("秒").append(before.after(after) ? "後" : "前");
        return sb.toString();
    }

    public static String replaceMonthWord(String s) {
        s = s.toLowerCase();
        String[] month = new String[] { "January", "Februaary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
        for (int i = 0; i < month.length; i++) {
            String m = month[i].toLowerCase();
            if (s.contains(m.toLowerCase()))
                return s.replace(m, String.valueOf(i + 1));
        }
        return s;
    }
}