文字列を解析して Date オブジェクトを作成する Java コードがあります。Linux ではすべて正常に動作しますが、Windows では 00:00:00 ではなく 19:00:00 に連続して開始されます。コードは次のとおりです。
if(currTask != null) {
if((m = p0.matcher(currTask)).matches()) {
date = new Date(Long.valueOf(m.group(2)) - Long.valueOf(m.group(1)));
}
else if((m = p.matcher(currTask)).matches()) {
date = new Date(System.currentTimeMillis() - Long.valueOf(m.group(1)));
}
return padded(date.getHours())+":"+padded(date.getMinutes())+":"+padded(date.getSeconds());
}
戻り値は、Windows の問題です。これは、Date のメソッドの 1 つが Linux ではなく Windows でどのように機能するかということと矛盾していますか? ご協力いただきありがとうございます。
- ケン