日期之间的相互转换 String与Date(SimpleDateFormat定义形式也是String),String类型日期与时间戳,String类型日期延迟

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/taiguolaotu/article/details/98478860

在开发的过程中,如果遇到时间的问题。那么不得不进行时间之间相互的转换,那么下面我将教给大家一些相应的转换的示例。给大家做出相应的参考,避免大家走些没必要的弯路。。。

String与Date(SimpleDateFormat定义形式也是String)

/**
	 * 格式化当前日期 
	 * 将日期转换为String类型的字符串
	 * @param date
	 * @return
	 */
public static String dataFormat(Date date) {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String result = format.format(date);
		return result;
	}

/**
	 * 将String类型的字符串转换为日期格式
	 * @param date
	 * @return
	 * @throws ParseException
	 */
public static Date dataFormatt(String date) throws ParseException {
		SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
        Date result=format.parse(date);
        return result;
    }

String类型日期与时间戳

/* //日期转换为时间戳 
     * @param yyyy/MM/dd  yyyy-MM-dd 随意定义
     * */
    public static long timeToStamp(String timers) {
        Date d = new Date();
        long timeStemp = 0;
     try {
            SimpleDateFormat sf = new SimpleDateFormat("yyyy/MM/dd");
            d = sf.parse(timers);// 日期转换为时间戳
        } catch (ParseException e) {
        // TODO Auto-generated catch block
             e.printStackTrace();
        }
        timeStemp = d.getTime();
        return timeStemp;
   }
/* //时间戳转换成String日期 */
    public static String stampToTime(long stamp) {
        String sd = "";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        sd = sdf.format(new Date(stamp)); // 时间戳转换日期
        return sd;
    }

String类型日期延迟

//往后推迟一个月
    public static String month(String time) {
        Calendar c = Calendar.getInstance();//获得一个日历的实例
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        Date date = null;
        try{
            date = sdf.parse(time);//初始日期
        }catch(Exception e){

        }
        c.setTime(date);//设置日历时间
        c.add(Calendar.MONTH,1);//在日历的月份上增加一个月
        String strDate = sdf.format(c.getTime());//的到你想要得1个月后的日期
        return strDate;
    }
    
    //往后推迟一年
    public static String year(String time) {
        Calendar c = Calendar.getInstance();//获得一个日历的实例
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        Date date = null;
        try{
            date = sdf.parse(time);//初始日期
        }catch(Exception e){

        }
        c.setTime(date);//设置日历时间
        c.add(Calendar.MONTH,12);//在日历的月份上增加12个月
        String strDate = sdf.format(c.getTime());//的到你想要得12个月后的日期
        return strDate;
    }
    
    //往后推迟一天
     public static String getNextDay(String day) throws ParseException {
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
        Calendar calendar = Calendar.getInstance();
        Date d = format.parse(day);
        calendar.setTime(d);
        calendar.add(Calendar.DAY_OF_YEAR,1);
        return format.format(calendar.getTime());
    }

	//较麻烦
	 public static String getLastDay(String time){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        Date date=null;
        try {
            date = sdf.parse(time);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        calendar.setTime(date);
        int day=calendar.get(Calendar.DATE);
        //                      此处修改为+1则是获取后一天
        calendar.set(Calendar.DATE,day-1);
 
        String lastDay = sdf.format(calendar.getTime());
        return lastDay;
        }

	//教简单
		DateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
            try {
                Date temp = dft.parse("传入的日期字符串");
                Calendar cld = Calendar.getInstance();
                cld.setTime(temp);
                cld.add(Calendar.DATE, 1);
                temp = cld.getTime();
                //获得下一天日期字符串
                String nextDay = dft.format(temp); 
            } catch (ParseException e) {
                e.printStackTrace();
            }

这辈子坚持与不坚持都不可怕,怕的是一直走在独自思考的路上!!!

猜你喜欢

转载自blog.csdn.net/taiguolaotu/article/details/98478860