編輯:Android編程入門
/**
* java時間戳是13位的,php後台是10位的,所以要截斷
*/
private static long timestampConvent(long stamp) {
String temp = stamp + "";
return Long.parseLong(temp.substring(0, 10));
}
/**
* 獲取今天的時間戳
*/
public static long getNowTimeStamp() {
return timestampConvent(new Date().getTime());
}
/**
* 獲取明天的時間戳
*/
public static long getTomorrowTimeStamp() {
Calendar tomrrow = Calendar.getInstance();
tomrrow.add(Calendar.DAY_OF_MONTH, 1);
return timestampConvent(tomrrow.getTime().getTime());
}
/**
* 獲取指定時間的時間戳
*/
public static long getTimeStamp(String time, String format) {
Date date;
//注意format的格式要與日期String的格式相匹配
DateFormat sdf = new SimpleDateFormat(format, Locale.CHINA);
try {
date = sdf.parse(time);
} catch (Exception e) {
e.printStackTrace();
return -1;
}
return timestampConvent(date.getTime());
}
/**
* 把時間戳轉為閱讀友好的字符串
*
* @param time 10位時間戳,因為服務器端傳過來的是10位,所以在android裡面使用時需要*1000增加到13位
*/
public static String getFormatTime(long time) {
Calendar target = Calendar.getInstance();
target.setTime(new Date(time * 1000));
String format = "yyyy年MM月dd日 HH:mm:ss";
Calendar today = Calendar.getInstance();
if (today.get(Calendar.YEAR) == target.get(Calendar.YEAR) &&
today.get(Calendar.MONTH) == target.get(Calendar.MONTH) &&
today.get(Calendar.DAY_OF_MONTH) == target.get(Calendar.DAY_OF_MONTH)) {
//今天
if (target.get(Calendar.HOUR_OF_DAY) < 3) {
format = "凌晨 HH:mm:ss";
} else if (target.get(Calendar.HOUR_OF_DAY) < 12) {
format = "上午 HH:mm:ss";
} else if (target.get(Calendar.HOUR_OF_DAY) < 18) {
format = "下午 HH:mm:ss";
} else {
format = "晚上 HH:mm:ss";
}
} else {
target.add(Calendar.DAY_OF_MONTH, 1);//加1,如果時間為昨天的話,加1之後的時間就是今天了
if (today.get(Calendar.YEAR) == target.get(Calendar.YEAR) &&
today.get(Calendar.MONTH) == target.get(Calendar.MONTH) &&
today.get(Calendar.DAY_OF_MONTH) == target.get(Calendar.DAY_OF_MONTH)) {
//昨天
format = "昨天 HH:mm:ss";
} else {
target.setTime(new Date(time * 1000));
if (target.get(Calendar.YEAR) == today.get(Calendar.YEAR)) {
format = "MM月dd日 HH:mm:ss";
}
}
}
return StaticMethod.timestampToString(time + "", format);
}
/**
* 10位時間戳轉換為指定格式的時間字符串
*/
public static String timestampToString(String time, String format) {
if (time.length() > 3) {
long temp = Long.parseLong(time) * 1000;
Timestamp ts = new Timestamp(temp);
String tsStr = "";
DateFormat dateFormat = new SimpleDateFormat(format, Locale.CHINA);
try {
tsStr = dateFormat.format(ts);
System.out.println(tsStr);
} catch (Exception e) {
e.printStackTrace();
}
return tsStr;
} else {
return "";
}
}
android開發-界面設計基本知識
一個好的APP不僅有美觀,好看的界面,更需要良好的性能和穩定性。作為一名開發人員,需要理解界面設計原則並寫出優秀的界面設計代碼。本章主要講述基本控件的使用,界面布局及一些
Android開發學習之路-PopupWindow和仿QQ左滑刪除
這周作業,要做一個類似QQ的左滑刪除效果的ListView,因為不想給每個item都放一個按鈕,所以決定用PopupWindow,這裡記錄一下先放一下效果圖:先說明一下這
Android下創建一個輸入法
輸入法是一種可以讓用戶輸入文字的控件。Android提供了一套可擴展的輸入法框架,使得應用程序可以讓用戶選擇各種類型的輸入法,比如基於觸屏的鍵盤輸入或者基於語音。當安裝了
Android自定義SurfaceView實現雪花效果
實現雪花的效果其實也可以通過自定義View的方式來實現的(SurfaceView也是繼承自View的),而且操作上也相對簡單一些,當然也有一些