【知识整理】Android 时间工具DateUtil

原创 2016年08月29日 18:51:27

常用知识收集整理,方便需要的时候直接使用!!!


Android 时间工具DateUtil

  • String 转换 Date
  • long 转换 String
  • long 去除 时分秒
  • 计算时间差
  • 24小时制转12小时制
  • Date 转换 String
  • DateUtil全部源码

String 转换 Date

/**
 * String 转换 Date
 *
 * @param str
 * @param format
 * @return
 */
public static Date string2Date(String str, String format) {
    try {
        return new SimpleDateFormat(format).parse(str);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return new Date();
}

long 转换 String
/**
 * Date(long) 转换 String
 *
 * @param time
 * @param format
 * @return
 */
public static String date2String(long time, String format) {
    SimpleDateFormat sdf = new SimpleDateFormat(format);
    String s = sdf.format(time);
    return s;
}

long 去除 时分秒

/**
 * long 去除 时分秒
 * 时分秒全部为0
 *
 * @param date
 * @return
 */
public static long getYearMonthDay(long date) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(date);
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.MILLISECOND, 0);
    return calendar.getTimeInMillis();
}

计算时间差

/**
 * 获取目标时间和当前时间之间的差距
 *
 * @param date
 * @return
 */
public static String getTimestampString(Date date) {
    Date curDate = new Date();
    long splitTime = curDate.getTime() - date.getTime();
    if (splitTime < (30 * ONE_DAY)) {
        if (splitTime < ONE_MINUTE) {
            return "刚刚";
        }
        if (splitTime < ONE_HOUR) {
            return String.format("%d分钟前", splitTime / ONE_MINUTE);
        }
 
        if (splitTime < ONE_DAY) {
            return String.format("%d小时前", splitTime / ONE_HOUR);
        }
 
        return String.format("%d天前", splitTime / ONE_DAY);
    }
    String result;
    result = "M月d日 HH:mm";
    return (new SimpleDateFormat(result, Locale.CHINA)).format(date);
}

24小时制转12小时制

/**
 * 24小时制 转换 12小时制
 *
 * @param time
 * @return
 */
public static String time24To12(String time) {
    String str[] = time.split(":");
    int h = Integer.valueOf(str[0]);
    int m = Integer.valueOf(str[1]);
    String sx;
    if (h < 1) {
        h = 12;
        sx = "上午";
    } else if (h < 12) {
        sx = "上午";
    } else if (h < 13) {
        sx = "下午";
    } else {
        sx = "下午";
        h -= 12;
    }
    return String.format("%d:%02d%s", h, m, sx);
}

Date 转换 String

public static String[] WEEK = new String[]{"天", "一", "二", "三", "四", "五", "六"};
 
private static final long ONE_SECOND = 1000;
private static final long ONE_MINUTE = ONE_SECOND * 60;
private static final long ONE_HOUR = ONE_MINUTE * 60;
private static final long ONE_DAY = ONE_HOUR * 24;
 
/**
 * Date 转换 HH
 *
 * @param date
 * @return
 */
public static String date2HH(Date date) {
    return new SimpleDateFormat("HH").format(date);
}
 
/**
 * Date 转换 HH:mm:ss
 *
 * @param date
 * @return
 */
public static String date2HHmm(Date date) {
    return new SimpleDateFormat("HH:mm").format(date);
}
 
/**
 * Date 转换 HH:mm:ss
 *
 * @param date
 * @return
 */
public static String date2HHmmss(Date date) {
    return new SimpleDateFormat("HH:mm:ss").format(date);
}
 
/**
 * Date 转换 MM.dd
 *
 * @param date
 * @return
 */
public static String date2MMdd(Date date) {
    return new SimpleDateFormat("MM.dd").format(date);
}
 
/**
 * Date 转换 yyyy.MM.dd
 *
 * @param date
 * @return
 */
public static String date2yyyyMMdd(Date date) {
    return new SimpleDateFormat("yyyy.MM.dd").format(date);
}
 
/**
 * Date 转换 MM月dd日 星期
 *
 * @param date
 * @return
 */
public static String date2MMddWeek(Date date) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
    return new SimpleDateFormat("MM月dd日 星期").format(date) + week[dayOfWeek - 1];
}
 
/**
 * Date 转换 yyyy年MM月dd日 星期
 *
 * @param date
 * @return
 */
public static String date2yyyyMMddWeek(Date date) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
    return new SimpleDateFormat("yyyy年MM月dd日 星期").format(date) + week[dayOfWeek - 1];
}

DateUtil全部源码

public class DateUtil {
 
    public static String[] WEEK = new String[]{"天", "一", "二", "三", "四", "五", "六"};
 
    private static final long ONE_SECOND = 1000;
    private static final long ONE_MINUTE = ONE_SECOND * 60;
    private static final long ONE_HOUR = ONE_MINUTE * 60;
    private static final long ONE_DAY = ONE_HOUR * 24;
 
    /**
     * String 转换 Date
     *
     * @param str
     * @param format
     * @return
     */
    public static Date string2Date(String str, String format) {
        try {
            return new SimpleDateFormat(format).parse(str);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return new Date();
    }
 
    /**
     * Date(long) 转换 String
     *
     * @param time
     * @param format
     * @return
     */
    public static String date2String(long time, String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        String s = sdf.format(time);
        return s;
    }
 
    /**
     * long 去除 时分秒
     * 时分秒全部为0
     *
     * @param date
     * @return
     */
    public static long getYearMonthDay(long date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(date);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        return calendar.getTimeInMillis();
    }
 
    /**
     * 获取目标时间和当前时间之间的差距
     *
     * @param date
     * @return
     */
    public static String getTimestampString(Date date) {
        Date curDate = new Date();
        long splitTime = curDate.getTime() - date.getTime();
        if (splitTime < (30 * ONE_DAY)) {
            if (splitTime < ONE_MINUTE) {
                return "刚刚";
            }
            if (splitTime < ONE_HOUR) {
                return String.format("%d分钟前", splitTime / ONE_MINUTE);
            }
 
            if (splitTime < ONE_DAY) {
                return String.format("%d小时前", splitTime / ONE_HOUR);
            }
 
            return String.format("%d天前", splitTime / ONE_DAY);
        }
        String result;
        result = "M月d日 HH:mm";
        return (new SimpleDateFormat(result, Locale.CHINA)).format(date);
    }
 
    /**
     * 24小时制 转换 12小时制
     *
     * @param time
     * @return
     */
    public static String time24To12(String time) {
        String str[] = time.split(":");
        int h = Integer.valueOf(str[0]);
        int m = Integer.valueOf(str[1]);
        String sx;
        if (h < 1) {
            h = 12;
            sx = "上午";
        } else if (h < 12) {
            sx = "上午";
        } else if (h < 13) {
            sx = "下午";
        } else {
            sx = "下午";
            h -= 12;
        }
        return String.format("%d:%02d%s", h, m, sx);
    }
 
    /**
     * Date 转换 HH
     *
     * @param date
     * @return
     */
    public static String date2HH(Date date) {
        return new SimpleDateFormat("HH").format(date);
    }
 
    /**
     * Date 转换 HH:mm:ss
     *
     * @param date
     * @return
     */
    public static String date2HHmm(Date date) {
        return new SimpleDateFormat("HH:mm").format(date);
    }
 
    /**
     * Date 转换 HH:mm:ss
     *
     * @param date
     * @return
     */
    public static String date2HHmmss(Date date) {
        return new SimpleDateFormat("HH:mm:ss").format(date);
    }
 
    /**
     * Date 转换 MM.dd
     *
     * @param date
     * @return
     */
    public static String date2MMdd(Date date) {
        return new SimpleDateFormat("MM.dd").format(date);
    }
 
    /**
     * Date 转换 yyyy.MM.dd
     *
     * @param date
     * @return
     */
    public static String date2yyyyMMdd(Date date) {
        return new SimpleDateFormat("yyyy.MM.dd").format(date);
    }
 
    /**
     * Date 转换 MM月dd日 星期
     *
     * @param date
     * @return
     */
    public static String date2MMddWeek(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
        return new SimpleDateFormat("MM月dd日 星期").format(date) + WEEK[dayOfWeek - 1];
    }
 
    /**
     * Date 转换 yyyy年MM月dd日 星期
     *
     * @param date
     * @return
     */
    public static String date2yyyyMMddWeek(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
        return new SimpleDateFormat("yyyy年MM月dd日 星期").format(date) + WEEK[dayOfWeek - 1];
    }
 
}





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

21.Android 时间工具DateUtil

21.Android 时间工具DateUtilAndroid 时间工具DateUtil String 转换 Date long 转换 String long 去除 时分秒 计算时间差 24小时制转12...

日期时间DateUtil-java工具类

日期时间DateUtil-java工具类

java开发中常用的日期时间工具类 DateUtil

java开发中常会用到的 日期时间工具类。 package org.demo; import java.text.DecimalFormat; import java.text.ParseExce...

DateUtil工具类时间戳类型转换

package com.sinosoft.media.sms.util; import java.text.ParseException; import java.text.SimpleDateFor...

时间工具类,DateUtil各种好用

package com.huxin.utils; import java.text.DateFormat; import java.text.ParseException; import java...

时间工具类[DateUtil] 2

import mx.controls.dataGridClasses.DataGridColumn; import mx.formatters.DateFormatter; public ...

时间工具类(DateUtil)

public class DateUtil { /** * 名称:long2StrDate 功能:该函数将8位或12位或14位的数值型日期时间转换为10位或16位或19带格式的日期时间 型如...

时间工具类(DateUtil)

[java] view plaincopyprint? /** * UtilsTest * 时间日期工具类,封装工作中常用的一些时间日期计算方法等 * 还可以提供更多的重载...

时间工具类[DateUtil]

package com.ly.util; import java.text.DateFormat; import java.text.ParseException; import java....

时间工具类(DateUtil)

时间工具类(DateUtil) 虽然Apache下有个时间工具类的包,但这里写得时间工具类主要是自己在工作中常用的一些求时间的方法,见代码: 1 [java] view plainco...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)