日期相关知识

随笔:
// 将localDataTime格式的时间转为指定格式:
// 方法一:
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
// 方法二:在返回vo的时间字段上加注解
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

1. string类型的日期相加减
//将string类型的日期转成date类型
 java.text.SimpleDateFormat dateFormat = new SimpleDateFormat(CouponConstant.DATE_FORMAT_24);
 Date getTimeDate = dateFormat.parse(rideDetailToUserBO.getGetTime());
 //日期相加(需要时Long类型)
 String expirationTime = dateFormat.format(getTimeDate.getTime() + couponBatch.getValidDays() * 24 * 60 * 60 * 1000L);
2. string类型日期的比较大小
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 if(dateFormat.parse(beginTime).getTime() < dateFormat.parse("2015-07-01").getTime(){
        ......            
 }
3. 时间戳转化为yyyy-MM-dd HH:mm:ss日期格式
Long curr = System.currentTimeMillis(); //获取当前时间戳 (毫秒)
System.out.println(curr); //1540202972921
Date date = new Date(curr);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(simpleDateFormat.format(date)); //2018-10-22 18:09:32
4. 将String类型的GMT、GST日期转换成Date对象
public static void main(String[] args) {
   //需要修改的时间
   String stringDate = "Thu Oct 16 07:13:48 GMT 2014";
   //需要修改的时间格式GMT、GST日期
   SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM ddHH:mm:ss 'GMT' yyyy", Locale.US);
   //需要加上try catch
   Date date = sdf.parse(stringDate);
   sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   System.out.println(sdf.format(date));
}
5. 将2019-12-03T12:11:48.000Z转换为正常格式
public static void main(String[] args) {
   //接收到的时间
   String oldTime = "2019-12-03T12:11:48.000Z";
   Date date1 = null;
   DateFormat df2 = null;
   try {
      //将时间格式转换为2019-12-03T12:11:48.000+0800格式
      DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
      Date date = df.parse(oldTime);
      //将时间格式转换为GMT格式
      SimpleDateFormat df1 = new SimpleDateFormat ("EEE MMM dd HH:mm:ss Z yyyy", Locale.UK);
      date1 = df1.parse(date.toString());
      //将时间格式转换为正常格式
      df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   } catch (ParseException e) {
      e.printStackTrace();
   }
   System.out.println(df2.format(date1));
}
6. Date日期格式的各种转换
      
    public class DateParserT {  
      
        /** 
         * Date 与  String、long 的相互转换 
         * @param args 
         */  
        public static void main(String[] args) {  
              
            Date dt =new Date();  
            System.out.println(dt); //格式: Wed Jul 06 09:28:19 CST 2016  
              
            //格式:2016-7-6  
            String formatDate = null;  
            formatDate = DateFormat.getDateInstance().format(dt);  
            System.out.println(formatDate);    
              
            //格式:2016年7月6日 星期三  
            formatDate = DateFormat.getDateInstance(DateFormat.FULL).format(dt);  
            System.out.println(formatDate);  
              
            //格式 24小时制:2016-07-06 09:39:58  
            DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //HH表示24小时制;  
            formatDate = dFormat.format(dt);  
            System.out.println(formatDate);  
              
            //格式12小时制:2016-07-06 09:42:44  
            DateFormat dFormat12 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //hh表示12小时制;  
            formatDate = dFormat12.format(dt);  
            System.out.println(formatDate);  
              
            //格式去掉分隔符24小时制:20160706094533  
            DateFormat dFormat3 = new SimpleDateFormat("yyyyMMddHHmmss");  
            formatDate = dFormat3.format(dt);  
            System.out.println(formatDate);  
              
            //格式转成long型:1467770970  
            long lTime = dt.getTime() / 1000;  
            System.out.println(lTime);  
              
            //格式long型转成Date型,再转成String:  1464710394 -> ltime2*1000 -> 2016-05-31 23:59:54  
            long ltime2 = 1464710394;  
            SimpleDateFormat lsdFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
            Date lDate = new Date(ltime2*1000);  
            String lStrDate = lsdFormat.format(lDate);  
            System.out.println(lStrDate);  
              
            //格式String型转成Date型:2016-07-06 10:17:48 -> Wed Jul 06 10:17:48 CST 2016  
            String strDate = "2016-07-06 10:17:48";  
            SimpleDateFormat lsdStrFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
            try {  
                Date strD = lsdStrFormat.parse(strDate);  
                System.out.println(strD);  
            } catch (ParseException e) {  
                e.printStackTrace();  
            }  
      
        }  
      
    }  
7. java时间字符串去空格、冒号和横杠
String date = "2017-09-19 14:40:01";
String response = date.replaceAll("[[\\s-:punct:]]","");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值