Java時間戳轉化為今天、昨天、明天(字符串格式)

jopen 9年前發布 | 10K 次閱讀 Java

  時間戳,相信大家一定都不陌生,服務器經常會傳回來時間戳,需要我們對時間戳進行處理。各種麻煩不斷,比如轉為為明天,今天,昨天,或者跟現在時間相對比,過了多長時間,轉化為標準格式啊...各種情況,寫了一個工具類,來分享下...

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateUtils {

    /** 
     * 返回unix時間戳 (1970年至今的秒數) 
     * @return 
     */  
    public static long getUnixStamp(){  
            return System.currentTimeMillis()/1000;  
    }  

    /** 
     * 得到昨天的日期 
     * @return 
     */  
    public static String getYestoryDate() {  
            Calendar calendar = Calendar.getInstance();    
            calendar.add(Calendar.DATE,-1);  
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
            String yestoday = sdf.format(calendar.getTime());  
            return yestoday;  
    }  

    /** 
     * 得到今天的日期 
     * @return 
     */  
    public static  String getTodayDate(){  
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
            String date = sdf.format(new Date());  
            return date;  
    }  

    /** 
     * 時間戳轉化為時間格式 
     * @param timeStamp 
     * @return 
     */  
    public static String timeStampToStr(long timeStamp) {  
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
            String date = sdf.format(timeStamp * 1000);  
            return date;  
    }  

    /** 
     * 得到日期   yyyy-MM-dd 
     * @param timeStamp  時間戳 
     * @return 
     */  
    public static String formatDate(long timeStamp) {     
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
            String date = sdf.format(timeStamp*1000);  
            return date;  
    }  

    /** 
     * 得到時間  HH:mm:ss 
     * @param timeStamp   時間戳 
     * @return 
     */  
    public static String getTime(long timeStamp) {    
            String time = null;  
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
            String date = sdf.format(timeStamp * 1000);  
            String[] split = date.split("\\s");  
            if ( split.length > 1 ){  
                    time = split[1];  
            }  
            return time;  
    }  

    /** 
     * 將一個時間戳轉換成提示性時間字符串,如剛剛,1秒前 
     *  
     * @param timeStamp 
     * @return 
     */  
    public static String convertTimeToFormat(long timeStamp) {  
            long curTime =System.currentTimeMillis() / (long) 1000 ;  
            long time = curTime - timeStamp;  

            if (time < 60 && time >= 0) {  
                    return "剛剛";  
            } else if (time >= 60 && time < 3600) {  
                    return time / 60 + "分鐘前";  
            } else if (time >= 3600 && time < 3600 * 24) {  
                    return time / 3600 + "小時前";  
            } else if (time >= 3600 * 24 && time < 3600 * 24 * 30) {  
                    return time / 3600 / 24 + "天前";  
            } else if (time >= 3600 * 24 * 30 && time < 3600 * 24 * 30 * 12) {  
                    return time / 3600 / 24 / 30 + "個月前";  
            } else if (time >= 3600 * 24 * 30 * 12) {  
                    return time / 3600 / 24 / 30 / 12 + "年前";  
            } else {  
                    return "剛剛";  
            }  
    }  

    /** 
     * 將一個時間戳轉換成提示性時間字符串,(多少分鐘) 
     *  
     * @param timeStamp 
     * @return 
     */  
    public static String timeStampToFormat(long timeStamp) {  
            long curTime =System.currentTimeMillis() / (long) 1000 ;  
            long time = curTime - timeStamp;  
            return time/60 + "";  
    }  

} </pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!