編輯:關於Android編程
Android 時間工具DateUtil String 轉換 Date long 轉換 String long 去除 時分秒 計算時間差 24小時制轉12小時制 Date 轉換 String DateUtil全部源碼
/**
* String 轉換 Date
*
* @param str
* @param format
* @return
*/
public static Date string2Date(String str, String format) {
try {
return new SimpleDateFormat(format).parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return new Date();
}
/**
* Date(long) 轉換 String
*
* @param time
* @param format
* @return
*/
public static String date2String(long time, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
String s = sdf.format(time);
return s;
}
/**
* long 去除 時分秒
* 時分秒全部為0
*
* @param date
* @return
*/
public static long getYearMonthDay(long date) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTimeInMillis();
}
/**
* 獲取目標時間和當前時間之間的差距
*
* @param date
* @return
*/
public static String getTimestampString(Date date) {
Date curDate = new Date();
long splitTime = curDate.getTime() - date.getTime();
if (splitTime < (30 * ONE_DAY)) {
if (splitTime < ONE_MINUTE) {
return 剛剛;
}
if (splitTime < ONE_HOUR) {
return String.format(%d分鐘前, splitTime / ONE_MINUTE);
}
if (splitTime < ONE_DAY) {
return String.format(%d小時前, splitTime / ONE_HOUR);
}
return String.format(%d天前, splitTime / ONE_DAY);
}
String result;
result = M月d日 HH:mm;
return (new SimpleDateFormat(result, Locale.CHINA)).format(date);
}
/**
* 24小時制 轉換 12小時制
*
* @param time
* @return
*/
public static String time24To12(String time) {
String str[] = time.split(:);
int h = Integer.valueOf(str[0]);
int m = Integer.valueOf(str[1]);
String sx;
if (h < 1) {
h = 12;
sx = 上午;
} else if (h < 12) {
sx = 上午;
} else if (h < 13) {
sx = 下午;
} else {
sx = 下午;
h -= 12;
}
return String.format(%d:%02d%s, h, m, sx);
}
public static String[] WEEK = new String[]{天, 一, 二, 三, 四, 五, 六};
private static final long ONE_SECOND = 1000;
private static final long ONE_MINUTE = ONE_SECOND * 60;
private static final long ONE_HOUR = ONE_MINUTE * 60;
private static final long ONE_DAY = ONE_HOUR * 24;
/**
* Date 轉換 HH
*
* @param date
* @return
*/
public static String date2HH(Date date) {
return new SimpleDateFormat(HH).format(date);
}
/**
* Date 轉換 HH:mm:ss
*
* @param date
* @return
*/
public static String date2HHmm(Date date) {
return new SimpleDateFormat(HH:mm).format(date);
}
/**
* Date 轉換 HH:mm:ss
*
* @param date
* @return
*/
public static String date2HHmmss(Date date) {
return new SimpleDateFormat(HH:mm:ss).format(date);
}
/**
* Date 轉換 MM.dd
*
* @param date
* @return
*/
public static String date2MMdd(Date date) {
return new SimpleDateFormat(MM.dd).format(date);
}
/**
* Date 轉換 yyyy.MM.dd
*
* @param date
* @return
*/
public static String date2yyyyMMdd(Date date) {
return new SimpleDateFormat(yyyy.MM.dd).format(date);
}
/**
* Date 轉換 MM月dd日 星期
*
* @param date
* @return
*/
public static String date2MMddWeek(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
return new SimpleDateFormat(MM月dd日 星期).format(date) + week[dayOfWeek - 1];
}
/**
* Date 轉換 yyyy年MM月dd日 星期
*
* @param date
* @return
*/
public static String date2yyyyMMddWeek(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
return new SimpleDateFormat(yyyy年MM月dd日 星期).format(date) + week[dayOfWeek - 1];
}
public class DateUtil {
public static String[] WEEK = new String[]{天, 一, 二, 三, 四, 五, 六};
private static final long ONE_SECOND = 1000;
private static final long ONE_MINUTE = ONE_SECOND * 60;
private static final long ONE_HOUR = ONE_MINUTE * 60;
private static final long ONE_DAY = ONE_HOUR * 24;
/**
* String 轉換 Date
*
* @param str
* @param format
* @return
*/
public static Date string2Date(String str, String format) {
try {
return new SimpleDateFormat(format).parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return new Date();
}
/**
* Date(long) 轉換 String
*
* @param time
* @param format
* @return
*/
public static String date2String(long time, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
String s = sdf.format(time);
return s;
}
/**
* long 去除 時分秒
* 時分秒全部為0
*
* @param date
* @return
*/
public static long getYearMonthDay(long date) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTimeInMillis();
}
/**
* 獲取目標時間和當前時間之間的差距
*
* @param date
* @return
*/
public static String getTimestampString(Date date) {
Date curDate = new Date();
long splitTime = curDate.getTime() - date.getTime();
if (splitTime < (30 * ONE_DAY)) {
if (splitTime < ONE_MINUTE) {
return 剛剛;
}
if (splitTime < ONE_HOUR) {
return String.format(%d分鐘前, splitTime / ONE_MINUTE);
}
if (splitTime < ONE_DAY) {
return String.format(%d小時前, splitTime / ONE_HOUR);
}
return String.format(%d天前, splitTime / ONE_DAY);
}
String result;
result = M月d日 HH:mm;
return (new SimpleDateFormat(result, Locale.CHINA)).format(date);
}
/**
* 24小時制 轉換 12小時制
*
* @param time
* @return
*/
public static String time24To12(String time) {
String str[] = time.split(:);
int h = Integer.valueOf(str[0]);
int m = Integer.valueOf(str[1]);
String sx;
if (h < 1) {
h = 12;
sx = 上午;
} else if (h < 12) {
sx = 上午;
} else if (h < 13) {
sx = 下午;
} else {
sx = 下午;
h -= 12;
}
return String.format(%d:%02d%s, h, m, sx);
}
/**
* Date 轉換 HH
*
* @param date
* @return
*/
public static String date2HH(Date date) {
return new SimpleDateFormat(HH).format(date);
}
/**
* Date 轉換 HH:mm:ss
*
* @param date
* @return
*/
public static String date2HHmm(Date date) {
return new SimpleDateFormat(HH:mm).format(date);
}
/**
* Date 轉換 HH:mm:ss
*
* @param date
* @return
*/
public static String date2HHmmss(Date date) {
return new SimpleDateFormat(HH:mm:ss).format(date);
}
/**
* Date 轉換 MM.dd
*
* @param date
* @return
*/
public static String date2MMdd(Date date) {
return new SimpleDateFormat(MM.dd).format(date);
}
/**
* Date 轉換 yyyy.MM.dd
*
* @param date
* @return
*/
public static String date2yyyyMMdd(Date date) {
return new SimpleDateFormat(yyyy.MM.dd).format(date);
}
/**
* Date 轉換 MM月dd日 星期
*
* @param date
* @return
*/
public static String date2MMddWeek(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
return new SimpleDateFormat(MM月dd日 星期).format(date) + WEEK[dayOfWeek - 1];
}
/**
* Date 轉換 yyyy年MM月dd日 星期
*
* @param date
* @return
*/
public static String date2yyyyMMddWeek(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
return new SimpleDateFormat(yyyy年MM月dd日 星期).format(date) + WEEK[dayOfWeek - 1];
}
}
在目前的軟硬件環境下,Native App與Web App在用戶體驗上有著明顯的優勢,但在實際項目中有些會因為業務的頻繁變更而頻繁的升級客戶端,造成較差的用戶體驗,而這也
由於一個項目的需要,我研究了一下android的網絡通信方式,大體和java平台的很相似! android平台也提供了很多的API供開發者使用,請按示例圖:
之前的一篇概要文章中主要說了我這次研究的一些具體情況,這裡就不在多說了,但是這裡還需要指出的是,感謝一下三位大神願意分享的知識(在我看來,懂得分享和細致的人才算是大神,不
想將Button和ListView分別放在屏幕的一左一右。單純使用android:gravity和android:layout_gravity不成功。於是涉及到Relat