Java时间字符串与日期的转换

来源:互联网 发布:围攻龙刃堡 mac 编辑:程序博客网 时间:2024/05/16 12:00

前言:将时间字符串转换为日期格式,将时间戳转换为日期的方法,简单封装,直接使用。

一. 将时间字符串转化为日期格式。

例1:将字符串“20160325160000”转换为为“2016-03-25 16:00:00”的实现方法:

     /**     * 将时间字符串转化为日期格式字符串     * @param timeStr 例如:20160325160000     * @return String 例如:2016-03-25 16:00:00     */    @SuppressLint("SimpleDateFormat")    public static String timeStrToDateStr(String timeStr){        if (null == timeStr) {            return null;        }        String dateStr = null;        SimpleDateFormat sdf_input = new SimpleDateFormat("yyyyMMddhhmmss");//输入格式        SimpleDateFormat sdf_target =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //转化成为的目标格式        try {            //将20160325160000转化为Fri Mar 25 16:00:00 CST 2016,再转化为2016-03-25 16:00:00            dateStr = sdf_target.format(sdf_input.parse(timeStr));        } catch (Exception e) {        }        return dateStr;    }

以此类推,若你的字符串格式不是“20160325160000”这种,只需将输入时间格式sdf_input的构造参数“yyyyMMddhhmmss”改为你现在的格式即可。

注意:在”yyyy-MM-dd HH:mm:ss”中,HH大写为24小时制,hh小写为12小时制

例2:若字符串为“2016-03-25 16-00-00”这种自定义格式,转化为2016-03-25 16:00:00:

SimpleDateFormat sdf_input = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");

修改后输入:2016-03-25 16-00-00

转化后输出:2016-03-25 16:00:00

二.将时间戳转化为日期字符串的方法:

例:将时间戳“1497595115014”转化为“2017-06-16 14:38:35”

若输入的时间为==long格式==的,用如下方法:

    /**     * 将long类型的时间戳转化为日期字符串     * @param timeMillis 如:1497595115014     * @return String 如:2017-06-16 14:38:35     */    public static String timeMillisLongToDateStr(Long timeMillis){         Date date=new Date(timeMillis);         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//目标格式         String dateString = sdf.format(date);         return dateString;    }

若输入的时间为==字符串格式==的,用如下方法:

    /**     * 将字符串类型的时间戳转化为日期字符串     * @param timeMillis 如:1497595115014     * @return String 如:2017-06-16 14:38:35     */    public static String timeMillisStrToDateStr(String timeMillis){         Date date=new Date(Long.parseLong(timeMillis));         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//目标格式         String dateString = sdf.format(date);         return dateString;    }

测试方法:

    /*     * 单元测试     */    public static void main(String argsp[]){        System.out.println(timeMillisStrToDateStr(String.valueOf(System.currentTimeMillis())));        System.out.println(timeMillisLongToDateStr(System.currentTimeMillis()));    }  

输出结果:

2017-06-16 15:03:46

2017-06-16 15:03:46