2016-11-07 4 views
-3

今日、私は幾分効率的な変換方法をご希望でした。custom formatted selectors to seconds[Java日付]特定の形式を使用して日を追加する

「5d、6h」と入力すると、出力=> [x秒数] となります。セレクタは任意の数値で、minutes,seconds, hours, days, and years, where the preceding character is the selector, y for years, h for hours, and etc.でサポートされます。もう1つの例は9d 4sであり、まだ[x number of seconds]を出力しています。 2つの「セレクタ」文字列は配列に格納されます。本当にありがとう!

+0

あなたは大丈夫ですか?共有するコードはありますか? –

+0

@ScaryWombat私はそれに取り組む良い方法について質問しているので、私は何も持っていません。私はそれを自分自身で書くことができます。それをやり遂げる方法を頭で包み込むことを試みるだけです。 –

+0

入力に 'h 'が含まれている場合はselector1を使用します。それ以外の場合はselector2を使用しますか? –

答えて

0

あなたの質問が混乱している間、あなたが望むものに近いかもしれないカップルのクラスと標準の文字列の書式がある

Javaは、タイムラインに付着していない時間のスパンを表現するために2つのクラスを提供します。

  • Duration(日・時間・分・秒)
  • Period(年月・日)

両方のクラスは、Pの標準ISO 8601形式の文字列を解析して生成することができる[N] Y [n] M [n] DT [n] H [n] M [n] S。 Pは先頭を示し、Tはy-m-dとh-m-s部分を区切ります。だから5日と6時間はP5DT6Hです。

Duration d = Duration.parse("P5DT6H"); 

他の方向に進む。

String output = d.toString(); 

P5DT6H

あなたが期間全体での合計数秒をしたい場合はJavaの9に

を追加以上のメソッドで、さまざまなメソッドを呼び出して値を問い合わせることができる:

long totalSeconds = d.getSeconds() ; 

すでにStack Overflowで何度もカバーされているので、searc hの議論と例があります。また、投稿する前にStack Overflowをより完全に検索してください。

関連する問題