この形式の文字列変数があります"HH:mm"
。変数の値が 05:30 だとしましょう。
これらの数値を文字列から取得して計算するにはどうすればよいでしょうか。
(05 * 60 * 60 * 1000) + (30 * 60 * 1000) その数値 (ミリ秒) を新しい long 変数に入れます。
基本的に、文字列の時間変数をミリ秒の長さの変数に変換する必要があります。
この形式の文字列変数があります"HH:mm"
。変数の値が 05:30 だとしましょう。
これらの数値を文字列から取得して計算するにはどうすればよいでしょうか。
(05 * 60 * 60 * 1000) + (30 * 60 * 1000) その数値 (ミリ秒) を新しい long 変数に入れます。
基本的に、文字列の時間変数をミリ秒の長さの変数に変換する必要があります。
対象の文字列を含めs
ます。次に、例えば、あなたは言うことができます
String s = "5:30";
Pattern p = Pattern.compile("(\\d+):(\\d+)");
Matcher m = p.matcher(s);
if (m.matches()) {
int hrs = Integer.parseInt(m.group(1));
int min = Integer.parseInt(m.group(2));
long ms = (long) hrs * 60 * 60 * 1000 + min * 60 * 1000;
System.out.println("hrs="+hrs+" min="+min+" ms="+ms);
} else {
throw Exception("Bad time format");
}
価値があるのは、1 日は 86,400,000 ミリ秒しかないため、long
. アンint
は十分に大きいです。
SimpleDateFormat
クラスを使用できます
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
String inputString = yourTime + ":00.000"; //Added to string to make HH:mm:ss.SSS format
Date date = sdf.parse("1970-01-01 " + inputString);
System.out.println("in milliseconds: " + date.getTime());
public static void main(String[] args) throws IOException {
SimpleDateFormat simpleDateFormate = new SimpleDateFormat("HH:mm");
simpleDateFormate.setTimeZone(TimeZone.getTimeZone("UTC"));
String inputString = "05:30";
Date date = null;
try {
date = simpleDateFormate.parse( inputString);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println("in millSeconds: " + date.getTime());
long yourvar=date.getTime();
}
SimpleDateFormatを使用する