首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java常用工具类之时间转换(注释乱码,全)

Java常用工具类之时间转换(注释乱码,全)

作者头像
二十三年蝉
发布2018-02-28 12:04:25
1.2K0
发布2018-02-28 12:04:25
举报
文章被收录于专栏:闻道于事闻道于事
package com.wazn.learn.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

/**
 * ͨ����
 * 
 * @author root
 */
public class DateUtil {
    private static SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");
    private static SimpleDateFormat datetime = new SimpleDateFormat(
            "yyyy-MM-dd HH:mm:ss");
    public static Date getNowDate(){
        return new Date();
    }
    // ****************************��ǰʱ�����****************************
    /**
     * ����� yyyy-MM-dd Ϊ��ʽ�ĵ�ǰʱ���ַ���
     * 
     * @return String
     */
    public static String getCurrentTimeByDay() {
        String time = date.format(new Date(System.currentTimeMillis()));
        return time;
    }

    /**
     * ����� yyyy-MM-dd HH:mm:ss Ϊ��ʽ�ĵ�ǰʱ���ַ���
     * 
     * @return String
     */
    public static String getCurrentTimeBySecond() {
        String time = datetime.format(new Date(System.currentTimeMillis()));
        return time;
    }

    /**
     * ��ø�����ʽ�ĵ�ǰʱ���ַ���
     * 
     * @param give
     *            String ������ʱ���ʽ
     * @return String
     */
    public static String getCurrentTime(String give) {
        SimpleDateFormat temp = new SimpleDateFormat(give);
        return temp.format(new Date(System.currentTimeMillis()));
    }

    // ****************************Stringת��ΪDate****************************
    /**
     * ��Stringת����date
     * 
     * @throws ParseException
     * */
    public static Date pStringToDate(String str, String sfgs)
            throws ParseException {
        SimpleDateFormat sf = new SimpleDateFormat(sfgs);
        return sf.parse(str);
    }

    /**
     * ��Stringת����date ��ʽΪyyyy-MM-dd hh:mm:ss
     * 
     * @throws ParseException
     * */
    public static Date pStringToDate(String str) throws ParseException {
        return datetime.parse(str);
    }

    // ****************************Dateת��ΪString****************************
    /**
     * ת�������ڸ�ʽ���ַ��� ��ʽΪyyyy-MM-dd
     * 
     * @param Object
     * @return String
     */
    public static String dateFormat(Date o) {
        if (o == null) {
            return "";
        }
        return date.format(o);
    }

    /**
     * ת����ʱ���ʽ���ַ��� ��ʽΪyyyy-MM-dd hh:mm:ss
     * 
     * @param Date
     * @return String
     */
    public static String dateTimeFormat(Date o) {
        if (o == null) {
            return "";
        }
        return datetime.format(o);
    }

    /**
     * ת���ɸ���ʱ���ʽ���ַ���
     * 
     * @param Date
     * @param String
     * @return String
     */
    public static String getDateFormat(Date d, String format) {
        return new SimpleDateFormat(format).format(d);
    }

    /**
     * ���ڸ�ʽ��(yyyy��MM��dd��)
     * 
     * @param Date
     * @return String
     * */
    public static String fDateCNYR(Date date) {
        return getDateFormat(date, "yyyy��MM��dd��");
    }

    /**
     * ���ڸ�ʽ��(yyyy��MM��dd�� HH:mm)
     * 
     * @param Date
     * @return String
     * */
    public static String fDateCNYRS(Date date) {
        return getDateFormat(date, "yyyy��MM��dd�� HH��");
    }

    /**
     * ���ڸ�ʽ��(yyyy��MM��dd�� HH:mm)
     * 
     * @param Date
     * @return String
     * */
    public static String fDateCNYRSF(Date date) {
        return getDateFormat(date, "yyyy��MM��dd�� HH:mm");
    }

    /**
     * ���ڸ�ʽ��(yyyy��MM��dd�� HH:mm:ss)
     * 
     * @param Date
     * @return String
     * */
    public static String fDateCNYRSFM(Date date) {
        return getDateFormat(date, "yyyy��MM��dd�� HH:mm:ss");
    }

    // ****************************ʱ���ʽ��Stringת��ΪString****************************
    /**
     * ���ݸ�����ʱ���ʽ�ַ�����ȡ������ʽ���ַ���
     * 
     * @param d
     *            String ����ʱ���ʽΪyyyy-MM-dd HH:mm:ss
     * @param format
     *            String �����ĸ�ʽ
     * @return String
     */
    public static String getDateFormat(String d, String format)
            throws ParseException {
        Date date = datetime.parse(d);
        return getDateFormat(date, format);
    }

    // ****************************ʱ���ʽ��Stringת��Ϊlong****************************
    /**
     * ͨ���ַ������long��ʱ��
     * 
     * @param String
     * @return long
     */
    public static long getDateFromStr(String dateStr) {
        long temp = 0L;
        Date date = null;
        try {
            date = datetime.parse(dateStr);
        } catch (Exception e) {
            e.printStackTrace();
            return temp;
        }
        temp = date.getTime();
        return temp;
    }

    // ****************************Dateת��Ϊ������ʽ��Date****************************
    /**
     * ���ڸ�ʽ����2014-03-04��
     * 
     * @param Date
     * @return Date
     * @throws ParseException
     * */
    public static Date fDate(Date dat) throws ParseException {
        String dateStr = date.format(dat);
        return date.parse(dateStr);
    }

    /**
     * ͨ����ʼʱ��ͼ����ý���ʱ�䡣
     * 
     * @param String
     * @param int
     * @return String
     */
    public static String getEndTime(String start, int span) {
        if (isNullOrNone(start) || span == 0) {
            return null;
        }
        long temp = getDateFromStr(start);
        temp += span * 60L * 1000L;
        return datetime.format(new Date(temp));
    }

    /**
     * ��ʽ���ַ�������2013-10-20 00:00:00.000000��Ϊ2013-10-20 00:00:00
     * 
     * @param String
     *            str
     * @return String
     * @throws ParseException
     * */
    public static String getFormatStringDay(String str) throws ParseException {
        Date date = datetime.parse(str);
        return datetime.format(date);
    }

    /**
     * �ж��Ƿ�Ϊ��
     * 
     * @param String
     * @return boolean
     */
    public static boolean isNullOrNone(String src) {
        if (null == src || "".equals(src)) {
            return true;
        }
        return false;
    }

    /**
     * ����ַ������ȴ���25���ȡǰ25���ַ��������ij�ʡ�Ժ�
     * 
     * @param String
     * @return String
     */
    public static String showCount(String str) {
        if (str != null) {
            if (str.length() > 25) {
                str = str.substring(0, 25);
                str = str + "...";
            }
        } else {
            str = "";
        }
        return str;
    }

    /**
     * �Ƿ�������ڸ�ʽyyyy-MM-dd
     * 
     * @param day
     *            String �����ַ���
     * @return boolean
     */
    public static boolean isFormatDay(String day) {
        return day
                .matches("(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)");
    }

    /**
     * �Ƿ����ʱ���ʽHH:mm:ss
     * 
     * @param time
     *            String ʱ���ַ���
     * @return boolean
     */
    public static boolean isFormatTime(String time) {
        return time
                .matches("(0[1-9]|1[0-9]|2[0-4]):(0[1-9]|[1-5][0-9]):(0[1-9]|[1-5][0-9])(\\.000000)?");
    }

    /**
     * �Ƿ����ʱ���ʽyyyy-MM-dd HH:mm:ss
     * 
     * @param time
     *            String ʱ���ַ���
     * @return boolean
     */
    public static boolean isFormat(String time) {
        String[] temp = time.split(" ");
        return isFormatDay(temp[0]) && isFormatTime(temp[1]);
    }

    /**
     * ͨ���������ꡢ�¡��ܻ�ø����ڵ�ÿһ������
     * 
     * @param year
     *            int ��
     * @param month
     *            int ��
     * @param week
     *            int ��
     * @return List<Date> ���������
     */
    public static List<Date> getDayByWeek(int year, int month, int week) {
        List<Date> list = new ArrayList<Date>();
        // �ȹ���������.
        Calendar c = Calendar.getInstance();
        c.set(Calendar.YEAR, year);
        // ��������:
        c.set(Calendar.MONTH, month - 1);
        // ��������:
        c.set(Calendar.WEEK_OF_MONTH, week);
        // �õ����ܵ�һ��:
        for (int i = 0; i < 6; i++) {
            c.set(Calendar.DAY_OF_WEEK, i + 2);
            list.add(c.getTime());
        }
        // ���һ��:
        c.set(Calendar.WEEK_OF_MONTH, week + 1);
        c.set(Calendar.DAY_OF_WEEK, 1);
        list.add(c.getTime());
        return list;
    }

    /**
     * ��õ�ǰ�����DZ��µĵڼ���
     * 
     * @return int
     */
    public static int getCurWeekNoOfMonth() {
        Date date = new Date(System.currentTimeMillis());
        Calendar calendar = Calendar.getInstance();
        calendar.setFirstDayOfWeek(Calendar.MONDAY);
        calendar.setTime(date);
        return calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH);
    }

    /**
     * ��õ�ǰ���������ڼ�
     * 
     * @return int
     */
    public static int getCurWeekNo(String dat) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        try {
            date = format.parse(dat);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        Calendar calendar = Calendar.getInstance();
        calendar.setFirstDayOfWeek(Calendar.MONDAY);
        calendar.setTime(date);
        return calendar.get(Calendar.DAY_OF_WEEK);
    }

    /**
     * ��õ�ǰ�����
     * 
     * @return
     */
    public static int getCurrentYear() {
        Calendar calendar = Calendar.getInstance();
        return calendar.get(Calendar.YEAR);
    }

    /**
     * ��õ�ǰ���·�
     * 
     * @return
     */
    public static int getCurrentMonth() {
        Calendar calendar = Calendar.getInstance();
        return calendar.get(Calendar.MONTH) + 1;
    }

    /**
     * ��õ�ǰ��������
     * 
     * @return
     */
    public static int getCurrentDay() {
        Calendar calendar = Calendar.getInstance();
        return calendar.get(Calendar.DATE);
    }
    /**
     * ��ȡ�������һ��
     * 
     * @param Date date
     * @param String format
     * @return String
     * */
    public static String lastDayOfMoth(Date date, String format){
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.set(Calendar.DAY_OF_MONTH,1);
        cal.add(Calendar.MONTH,1);
        cal.add(Calendar.DATE, -1);
        date =  cal.getTime();;
        SimpleDateFormat sf = new SimpleDateFormat(format);
        return sf.format(date);
    }
    /**
     * ��ȡ�������һ��
     * 
     * @param Date date
     * @param String format
     * @return String
     * */
    public static String firstDayOfMoth(Date date, String format){
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.add(Calendar.DATE, 0);
        date =  cal.getTime();;
        SimpleDateFormat sf = new SimpleDateFormat(format);
        return sf.format(date);
    }
    //****************************************************************
    /**
     * ת�����ַ������������������Integer��ʽ�ķ���0�������Double��ʽ�ķ���0.0
     * 
     * @param Object
     * @return String
     */
    public static String toString(Object o) {
        if (o == null) {
            if (o instanceof Integer) {
                return "0";
            }
            if (o instanceof Double) {
                return "0.0";
            }
            return "";
        } else {
            return o.toString();
        }
    }

    /**
     * ����ַ��������Ϊ������ת����null
     * 
     * @param String
     * @return String
     */
    public static String emptyString2Null(String src) {
        if (src != null) {
            if ("".equals(src)) {
                src = null;
            }
        }
        return src;
    }
    /**
     * ת���ɿ���hql��ʹ�õ��ַ���
     * 1,2 תΪ '1','2'
     * */
    public static String formatIds(String ids){
        if(ids!=null&&ids!="")
        {
            String[] id = ids.split(",");
            StringBuffer idsStr = new StringBuffer();
            for(String str : id){
                idsStr.append("'"+str+"',");
            }
            return idsStr.toString().substring(0,idsStr.length()-1);
        }
        else
        {
            return "";
        }
    }
    /**
     * ��ȡ��ǰ����ǰһ��
     * 
     * @param Date date
     * @return Date
     * */
    public static Date getSpecifiedDayBefore(Date date){
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        int day = c.get(Calendar.DATE);
        c.set(Calendar.DATE, day-1);
        date = c.getTime();
        return date;
    }
    /**
     * �Ƚ��������ڵĴ�С
     * 
     * @param data1
     * @param data2
     * 
     * @return boolean
     * 
     * @author zhangss 2016-5-18 13:47:16
     * */
    public boolean bjDate(Date date1, Date date2){
        if (date1.getTime() > date2.getTime()) {
            return true;
        }
        return false;
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档