时间格式化工具类

时间格式化工具类

package com.ja.util;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
 * 
    * 项目名称:cp   
    * 类名称:DateUtil.java   
    * 类描述:   日期时间工具类
    * 创建人:   GL
    * 创建时间:2018年12月13日 下午4:27:03   
 * @version v1.0.0
 */
public class DateUtil {

   /**
    * 
    * ----TODO: 时间格式化类
    * 
    */
   public static final String DATE_FORMAT_NORMAL = "yyyy-MM-dd";

   /**
    *
    * @param start_date //开始日期
    * @param end_date //结束日期
    * @return 几天
    * @throws Exception
    */
   public static int getDayLength(String start_date,String end_date) throws Exception{
      Date fromDate = getStrToDate(start_date,DATE_FORMAT_NORMAL); //开始日期
      Date toDate = getStrToDate(end_date,DATE_FORMAT_NORMAL); //结束日期
      long from = fromDate.getTime();
      long to = toDate.getTime();
      //一天等于多少毫秒:24*3600*1000
      int day = (int)((to-from)/(24*60*60*1000));
      return day;
   }
   public static Date getStrToDate(String date,String fomtter) throws Exception{
      DateFormat df = new SimpleDateFormat(fomtter);
      return df.parse(date);
   }

   /**
     * 方法名:getCurrTime 
     * 描述:     获取当前时间,格式为:yyyy-MM-dd HH:mm:ss                 
     * 参数:    @return 
    * @return: String
    */
   public static String getCurrTime() {
      SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      return ss.format(new Date());
   }
   
   /**
    * 方法名:getCurrTime 
    * 描述:     获取当前时间,格式为:yyyy-MM-dd HH:mm:ss                 
    * 参数:    @return 
    * @return: String
    */
   public static String getCurrTimes(long current) {
      SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      return ss.format(current);
   }
   
   /**
     * 方法名:findFormatDate 
     * 描述:     获取当前时间,格式为:yyyy-MM-dd                  
     * 参数:    @return 
    * @return: String
    */
   public static String findFormatDate() {
      return LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
   }



   /**
    * 方法名:findFormatDates
    * 描述:     获取当前时间,格式为:yyyyMMdd                  
    * 参数:    @return 
    * @return: String
    */
   public static String findFormatDates() {
      return LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
   }
   
   /**
    * 方法名:formatDateInNumber
    * 描述:     获取当前时间,格式为:yyyyMMdd                  
    * 参数:    @return 
    * @return: String
    */
   public static String formatDateInNumber(Date date) {
      SimpleDateFormat ss = new SimpleDateFormat("yyyyMMdd");
      return ss.format(date);
   }
   
   /**
      *   方法名:findLatelyDate   
      *   描述:    获取最近的时间   格式:yyyy-MM-dd                   
      *   参数:    @param number 时间偏移量  +1 当前时间加1天      -1 当前时间减一天
      *   参数:    @return 
    * @return: String
    */
   @SuppressWarnings("static-access")
   public static String findLatelyDate(int number) {
      SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
      Date date = new Date();//取时间
       Calendar calendar = new GregorianCalendar();
       calendar.setTime(date);
       calendar.add(calendar.DATE,number);//把日期往后增加一天.整数往后推,负数往前移动
       date=calendar.getTime(); //这个时间就是日期往后推一天的结果 
       String time = formatter.format(date);
      return time;
   }
   
   /**
    * 方法名:findFormatDateHour 
    * 描述:    获取当前时间,格式为:HH:mm:ss                 
    * 参数:    @return 
    * @return: String
    */
   public static String findFormatDateHours() {
      return LocalDateTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss"));
   }
   
   /**
     * 方法名:findFormatDateHour 
     * 描述:    获取当前时间,格式为:HH-mm-ss                 
     * 参数:    @return 
    * @return: String
    */
   public static String findFormatDateHour() {
      return LocalDateTime.now().format(DateTimeFormatter.ofPattern("HH-mm-ss"));
   }
   
   /**
    *   方法名:DateFormatOrderNum   
    *   描述:    生成订单号格式 yyyyMMddHHmmss                      
    *   参数:    @return 
    * @return: String
    */
   public static String DateFormatOrderNum() {
      SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
      Date date = new Date();//取时间
      return formatter.format(date);
   }
   
   /**
      *   方法名:getLast12Months   
      *   描述:    获取最近12个月的月份                      
      *   参数:    @param index 距最近月份的偏移量
      *   参数:    @return 
    * @return: String
    */
   public static String getLast12Months(int index) {
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
      Calendar c = Calendar.getInstance();
      c.setTime(new Date());
      c.add(Calendar.MONTH, -index);
      Date m = c.getTime();
      return sdf.format(m);
   }
   
   
   
   /**
    * 格式化日期,格式为:yyyy-MM-dd
    * @return
    */
   public static String formatDate(LocalDate date) {
      return date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
   }
   
   /**
    * 格式化日期,格式为:yyyyMMdd
    * @return
    */
   public static String formatDateInNumber(LocalDate date) {
      return date.format(DateTimeFormatter.ofPattern("yyyyMMdd"));
   }
   
   /**
    * 格式化时间,格式为:yyyy-MM-dd HH:mm:ss
    * @return
    */
   public static String formatDateTime(LocalDateTime time) {
      return time.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
   }
      
   public static void main(String[] args) {
      String a = getLast12Months(0);
      System.out.println(a);
   }
   
   
   
   

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值