博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
同步系统设置时间格式
阅读量:5734 次
发布时间:2019-06-18

本文共 10167 字,大约阅读时间需要 33 分钟。

hot3.png

import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Locale;import com.android.providers.downloads.ui.R;import android.content.ContentResolver;import android.content.Context;import android.text.format.DateFormat;import android.util.Log;/** * @author qqzhong Email:qqzhong@grandstream.com * @version create time:2013-3-28 上午9:38:55 * @Description: */public class TimeUtils {    static public final int SECONDS_PER_HOUR = 3600;    public static String convertDuration(long duration) {        Calendar calendar = Calendar.getInstance();        // *1000 to convert seconds to millis.        calendar.setTimeInMillis(duration * 1000);        long hours = duration / (long) SECONDS_PER_HOUR;        hours %= 100;        duration /= SECONDS_PER_HOUR;        String format = "mm:ss";        SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.getDefault());        String durationStr = sdf.format(calendar.getTime());        if (hours != 0) {            durationStr = hours + ":" + durationStr;        }        return durationStr;    }    public static String formatDate(Context context, long dateInMillis) {        Calendar nowCalendar = Calendar.getInstance();        Calendar calendar = Calendar.getInstance();        calendar.setTimeInMillis(dateInMillis);        String format = null;        if (nowCalendar.get(Calendar.YEAR) != calendar.get(Calendar.YEAR)) {            if (DateFormat.is24HourFormat(context)) {                format = "yyyy/MM/dd HH:mm";            } else {                format = "yyyy/MM/dd hh:mm a";            }        } else if (nowCalendar.get(Calendar.DAY_OF_YEAR) != calendar                .get(Calendar.DAY_OF_YEAR)) {            if (DateFormat.is24HourFormat(context)) {                format = "MM/dd HH:mm";            } else {                format = "MM/dd hh:mm a";            }        } else {            if (DateFormat.is24HourFormat(context)) {                format = "HH:mm";            } else {                format = "hh:mm a";            }        }        SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.getDefault());        String dateStr = sdf.format(calendar.getTime());        return dateStr;    }    public static String formatHourseDate(Context context, long dateInMillis) {        Calendar calendar = Calendar.getInstance();        calendar.setTimeInMillis(dateInMillis);        String format = null;        if (DateFormat.is24HourFormat(context)) {                format = "HH:mm";        } else {// "a hh:mm"表示 下午/下午 xx时xx分 例:“下午 3:24” 如果显示为 “3:24 下午”  就将 a 放在 hh:mm 后即可                format = "a hh:mm";        }        SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.getDefault());        String dateStr = sdf.format(calendar.getTime());        return dateStr;    }    public static String timeShow(Context context, long timeMillis) {        Date targetDate = new Date(timeMillis);        Date nowDate = new Date(System.currentTimeMillis());        ContentResolver cv = context.getContentResolver();        boolean needDate = true;        boolean needYear = (targetDate.getYear() != nowDate.getYear());        if ((targetDate.getYear() != nowDate.getYear())) {            needYear = true;        } else if ((targetDate.getMonth() != nowDate.getMonth())                || targetDate.getDate() != nowDate.getDate()) {            needYear = false;        } else {            needDate = false;        }        String dateStr = "";        if (needDate) {            boolean isZH = "zh".equals(context.getResources().getConfiguration().locale.getLanguage());            String defaultValue = android.provider.Settings.System.getString(cv,                    android.provider.Settings.System.DATE_FORMAT);            String dateFormat = getDateFormatStringForSetting(context, defaultValue, isZH, needYear);            dateStr = "00-00-00";            try {                SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);                dateStr = sdf.format(targetDate);            } catch (Exception e) {                e.printStackTrace();            }        }       /* java.text.DateFormat tFormat = android.text.format.DateFormat.getTimeFormat(context);        String timeStr = tFormat.format(timeMillis);*/        String timeStr = formatHourseDate(context,timeMillis);        return dateStr+" "+timeStr;    }    private static String getDateFormatStringForSetting(Context context, String value, boolean isZH, boolean needYear) {        String template = context.getString(com.android.internal.R.string.numeric_date_template);        if (!needYear) {            int first = template.indexOf("%s");            int second = template.indexOf("%s", first+1);            template = template.substring(0, first) + template.substring(second);        }        if (value != null) {            int month = value.indexOf('M');            int day = value.indexOf('d');            int year = value.indexOf('y');            if (month >= 0 && day >= 0 && year >= 0) {                if (year < month && year < day) {                    if (month < day) {                        if (isZH) {                            if (!needYear) {                                value = context.getString(R.string.dateformat_md);                            } else {                                value = context.getString(R.string.dateformat_ymd);                            }                        } else {                            if (!needYear) {                                value = String.format(template, "MM", "dd");                            } else {                                value = String.format(template, "yyyy", "MM", "dd");                            }                        }                    } else {                        if (isZH) {                            if (!needYear) {                                value = context.getString(R.string.dateformat_dm);                            } else {                                value = context.getString(R.string.dateformat_ydm);                            }                        } else {                            if (!needYear) {                                value = String.format(template, "dd", "MM");                            } else {                                value = String.format(template, "yyyy", "dd", "MM");                            }                        }                    }                } else if (month < day) {                    if (day < year) {                        if (isZH) {                            if (!needYear) {                                value = context.getString(R.string.dateformat_md);                            } else {                                value = context.getString(R.string.dateformat_mdy);                            }                        } else {                            if (!needYear) {                                value = String.format(template, "MM", "dd");                            } else {                                value = String.format(template, "MM", "dd", "yyyy");                            }                        }                    } else { // unlikely                        if (isZH) {                            if (!needYear) {                                value = context.getString(R.string.dateformat_md);                            } else {                                value = context.getString(R.string.dateformat_myd);                            }                        } else {                            if (!needYear) {                                value = String.format(template, "MM", "dd");                            } else {                                value = String.format(template, "MM", "yyyy", "dd");                            }                        }                    }                } else { // day < month                    if (month < year) {                        if (isZH) {                            if (!needYear) {                                value = context.getString(R.string.dateformat_dm);                            } else {                                value = context.getString(R.string.dateformat_dmy);                            }                        } else {                            if (!needYear) {                                value = String.format(template, "dd", "MM");                            } else {                                value = String.format(template, "dd", "MM", "yyyy");                            }                        }                    } else { // unlikely                        if (isZH) {                            if (!needYear) {                                value = context.getString(R.string.dateformat_dm);                            } else {                                value = context.getString(R.string.dateformat_dym);                            }                        } else {                            if (!needYear) {                                value = String.format(template, "dd", "MM");                            } else {                                value = String.format(template, "dd", "yyyy", "MM");                            }                        }                    }                }                return value;            }        }        if (isZH) {            if (!needYear) {                value = context.getString(R.string.dateformat_md);            } else {                value = context.getString(R.string.dateformat_ymd);            }        } else {            if (!needYear) {                value = String.format(template, "MM", "dd");            } else {                value = String.format(template, "yyyy", "MM", "dd");            }        }        return value;    }}

    
    
Locked Icon    
Message sent failure    
Divider Line    
Show or hide quick message panel    
Click to send message    
Has draft    
Click to edit phrase    
Click to delete phrase    
Click to delete recipient    
yyyy年M月d日    
yyyy年d日M月    
M月yyyy年d日    
M月d日yyyy年    
d日yyyy年M月    
d日M月yyyy年    
M月d日    
d日M月

转载于:https://my.oschina.net/u/563014/blog/368643

你可能感兴趣的文章