美文网首页
Android 时间戳转化日期和星期

Android 时间戳转化日期和星期

作者: 猪厂扫地僧 | 来源:发表于2018-11-07 13:59 被阅读0次

    前言

    在 Android 开发过程中,我们常常会遇见把时间戳转化成具体的年月日或者星期几的需求,这个实现可以通过 SimpleDateFormat 来完成。

    常见的时间格式:
    • 日期格式:"2017-06-20 10:30:30"
    • 代码模版:"yyyy-MM-dd HH:mm:ss"
    • 日期格式:"2017年06月20日 10时30分30秒"
    • 代码模版:"yyyy年MM月dd日 HH时mm分ss秒"

    实现

    一、时间戳转换成字符串
    /**
     *
     * @param time  1541569323155
     * @param pattern yyyy-MM-dd HH:mm:ss
     * @return 2018-11-07 13:42:03
     */
    public static String getDate2String(long time, String pattern) {
        Date date = new Date(time);
        SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.getDefault());
        return format.format(date);
    }
    
    二、字符串转换成时间戳
    /**
     *
     * @param dateString 2018-11-07 13:42:03,
     * @param pattern yyyy-MM-dd HH:mm:ss
     * @return 1541569323000
     */
    public static long getString2Date(String dateString,String pattern) {
    
        SimpleDateFormat dateFormat = new SimpleDateFormat(pattern, Locale.getDefault());
        Date date = new Date();
        try {
            date = dateFormat.parse(dateString);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date.getTime();
    }
    
    三、时间戳转换成星期
    public static String getWeek(long time) {
       
        Calendar cd = Calendar.getInstance();
        cd.setTime(new Date(time));
        
        int year  = cd.get(Calendar.YEAR); //获取年份
        int month = cd.get(Calendar.MONTH); //获取月份
        int day   = cd.get(Calendar.DAY_OF_MONTH); //获取日期
        int week  = cd.get(Calendar.DAY_OF_WEEK); //获取星期
    
        String weekString;
        switch (week) {
            case Calendar.SUNDAY:
                weekString = "周日";
                break;
            case Calendar.MONDAY:
                weekString = "周一";
                break;
            case Calendar.TUESDAY:
                weekString = "周二";
                break;
            case Calendar.WEDNESDAY:
                weekString = "周三";
                break;
            case Calendar.THURSDAY:
                weekString = "周四";
                break;
            case Calendar.FRIDAY:
                weekString = "周五";
                break;
            default:
                weekString = "周六";
                break;
    
        }
    
        return weekString;
    }
    

    最后

    如果还有其他问题,欢迎和我交流,完善SimpleDateFormat的用法,

    我的微信 lww262626 (备注简书)。

    相关文章

      网友评论

          本文标题:Android 时间戳转化日期和星期

          本文链接:https://www.haomeiwen.com/subject/uuqvxqtx.html