時間戳

在開發中有時需要工程師將時間轉化成今天,昨天,明天來展示還有轉化成固定格式,所以爲了方便自己使用寫了一個油條,不喜歡的可以自己在去搜索更好的:

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 + "";

        }

}

發佈了33 篇原創文章 · 獲贊 7 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章