1. 程式人生 > >10 友盟專案--日期工具類、時間對齊、地理類庫Geolite

10 友盟專案--日期工具類、時間對齊、地理類庫Geolite

1.日期工具類

 

 

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**
* 日期工具類
*/
public class DateUtil {

   private static final String PATTERN_US_DATE  = "dd/MMM/yyyy:HH:mm:ss Z" ;

   /**
    * 預設使用的解析方式
    */
   public
static long parseDateStr(String dateStr) throws ParseException { return parseDateStr(dateStr , "yyyy/MM/dd HH:mm:ss" , Locale.CHINA ) ; } /** * 預設使用的解析方式 */ public static long parseDateStrInUS(String dateStr) throws ParseException { return parseDateStr(dateStr , PATTERN_US_DATE , Locale.US ) ; }
/** * 解析時間串,生成時間戳 */ public static long parseDateStr(String dateStr , String fmt , Locale locale) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat(fmt , locale) ; return sdf.parse(dateStr).getTime() ; } /** * 使用預設的格式(yyyy/MM/dd HH:mm:ss)格式化時間物件 */ public
static String formatDate(Date date){ return formatDate(date , "yyyy/MM/dd HH:mm:ss") ; } /** * 使用指定的格式格式時間物件 */ public static String formatDate(Date date , String fmt){ SimpleDateFormat sdf = new SimpleDateFormat(fmt) ; return sdf.format(date) ; } /** * 使用指定的格式格式時間戳物件 */ public static String formatDate(long timestamp , String fmt){ return formatDate(new Date(timestamp) ,fmt) ; } /** * 使用時間戳格式化預設的時間串 */ public static String formatDate(long timestamp){ return formatDate(new Date(timestamp)) ; } }
Date工具類

測試日期工具類

public class TestDateFormat {
    /**
     * Locale :地域資訊 ,國際化
     */
    @Test
    public void test1() throws Exception {
        Date now = new Date() ;
        SimpleDateFormat df = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss Z" ,Locale.US) ;
        //System.out.println(df.format(now)) ;

        String str = "28/Oct/2018:20:43:46 -0700" ;
        Date thatDate = df.parse(str) ;
        //1540784626000
        System.out.println(thatDate.getTime());

        Date newDate = new Date(1540784626000L)  ;
        System.out.println(df.format(newDate));
    }

    @Test
    public void test2() throws Exception {
        String str = "28/Oct/2018:20:43:46 -0700" ;
        long ts = DateUtil.parseDateStrInUS(str) ;
        System.out.println(ts);
        String dateStr = DateUtil.formatDate(ts)  ;
        System.out.println(dateStr);
        System.out.println(DateUtil.parseDateStr(dateStr)) ;

    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

2.地理類庫Geolite