0
我在我的偏好中有一些代表開始時間和結束時間的字符串。如何比較時間字符串的時間部分?
我寫了這個函數來確定當前時間是否在開始和結束時間內。日期字符串的格式是「HH:mm」。該函數採用來自首選項的字符串。
我敢肯定,我錯過了一些比較的代碼,因爲我解析返回一個是這樣的:
週四9月29日12時24分33秒EDT 2011
但所有我需要的是得到這個: 12:24
這是功能。你能幫我糾正編碼嗎?
謝謝。
誠然, 伊馬德
public static boolean currentTimeIsWithinStartAndEnd(String startTime,
String endTime) {
String pattern = "HH:mm";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
boolean booleanValueToReturn = false;
try {
Date startTimeToCompare = sdf.parse(startTime);
Date endTimeToCompare = sdf.parse(endTime);
/*
* These are for the current time in date format.
*/
Date currentTime = new Date(System.currentTimeMillis());
Log.w("Emad", "Current Time: " + currentTime + " Start Time is: "
+ startTimeToCompare + " End Time is : "
+ endTimeToCompare);
/*
* Check if current time is equal or greater than the start time.
*/
if (currentTime.compareTo(startTimeToCompare) == 0
|| currentTime.compareTo(startTimeToCompare) == 1) {
booleanValueToReturn = true;
/*
* Now check if the current time is equal or less than the end
* time.
*/
if (currentTime.compareTo(endTimeToCompare) == 0
|| currentTime.compareTo(endTimeToCompare) == -1) {
booleanValueToReturn = true;
} else {
booleanValueToReturn = false;
}
} else {
booleanValueToReturn = false;
}
} catch (java.text.ParseException e) {
}
return booleanValueToReturn;
Hi ManojGumber,我很困惑,因爲我對Android編程還很陌生。你能否顯示我們需要使用SimpleDateFormat的正確格式的編碼?謝謝。 –
添加代碼示例 – ManojGumber
嗨ManojGumber,非常感謝代碼示例。真的,Emad –