我的項目提示用戶輸入形式爲hh:mm的字符串。 那麼我就需要了......分開:毫米到小時和分鐘,我覺得我做Java混淆hh:mm
String Hour = string.substring(0,2);
String Minutes = string.substring(3,5);
現在我需要確保小時爲5 < =小時但我不能做一個字符串的平等,所以我用parseInt將其轉換爲一個int,並做到平等。但它會丟棄我需要保留在我的代碼中的前導零。
我如何去這樣做
我的項目提示用戶輸入形式爲hh:mm的字符串。 那麼我就需要了......分開:毫米到小時和分鐘,我覺得我做Java混淆hh:mm
String Hour = string.substring(0,2);
String Minutes = string.substring(3,5);
現在我需要確保小時爲5 < =小時但我不能做一個字符串的平等,所以我用parseInt將其轉換爲一個int,並做到平等。但它會丟棄我需要保留在我的代碼中的前導零。
我如何去這樣做
試着看一下Simple Date Format
String input= "05:00";
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
Date date = sdf.parse(input);
不幸的是,im Java新手,還沒有學到這一點 – Survivorr
*現在我需要確保小時是從5 <=小時<22. * - 不回答 –
麻煩的舊日期時間類,如['java。 util.Date'](https://docs.oracle.com/javase/8/docs/api/java/util/Date.html),['java.util.Calendar'](https://docs.oracle.com .com/javase/8/docs/api/java/util/Date.html)和'java.text.SimpleTextFormat'現在是[legacy](https://en.wikipedia.org/wiki/Legacy_system),代替通過[java.time](https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html)類。 –
至於你問parseInt
嘗試
String line = "23:59";
String arr [] = line.split(":");
if (Integer.parseInt(arr[0]) < 5 || Integer.parseInt(arr[0]) >= 22) {
System.out.println("wrong hour");
}
String::split
一般來說,對於分割字符串成零件,請使用String::split
命令。有關詳情,請參閱問題How to split a string in Java。
String[] parts = "07:11".split(":");
Arrays.toString(部分):[07,11]
但我不建議你的情況這種做法。請繼續閱讀。
LocalTime
Java提供了一個專用的類你:LocalTime
。這門課表示沒有日期而沒有時區的時間。時鐘是一個通用的24小時通用日,它忽略了諸如Daylight Saving Time (DST)之類的異常情況。
您的輸入如07:11
恰好符合標準ISO 8601的格式。在解析或生成表示日期時間值的字符串時,java.time類默認使用這些格式。所以不需要指定格式化模式。
LocalTime localTime = LocalTime.parse("07:11");
從那裏你可以詢問小時部分或分鐘部分。
int hourOfDay = localTime.getHour();
int minuteOfHour = localTime.getMinute();
但你真正的目標是進行比較的時候,看它是否是上午5點和晚上10點之間。例如,這是真的:5 AM < 07:11 < 10 PM
。所以不需要把時間撕成碎片。相反,請使用LocalTime
類更直接地進行比較,並以更自我記錄的方式進行比較。
LocalTime start = LocalTime.of(5 , 0); // 5 AM = 05:00.
LocalTime stop = LocalTime.of(22 , 0); // 10 PM = 22:00.
Boolean isBetween =
(! localTime.isBefore(start))
&&
localTime.isBefore(stop)
;
看到這個code run live at IdeOne.com。
關於比較聲明:
Javascript!= Java。 (我已經爲你解決了問題標籤。) – nnnnnn
什麼是示例輸入,可以與我們分享? – FreedomPride
如果您在平等使用後以字符串格式使用此數據,最簡單的方法是在小於10的小時和分鐘內添加「0」。 – Rahul