java比较时间
伊谢尔伦
伊谢尔伦 2017-04-18 10:53:56
0
5
586

String date1 = “2017-04-06”;
String start = "2017-04";
String end = "2017-06";
java 计算data1是否在start和end之间。start和end即表示的是四月到六月

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(5)
PHPzhong

Java8 を使用していない場合:

リーリー
いいねを押す +0
巴扎黑

Java8 についてはすでに誰かが言及しているようですが...しかし、この書き方は少しぎこちないです...誰もが基本的に同じ考えを持っています...

  1. 指定された開始時刻を今月の初日に変更する必要があります

  2. 指定された終了時刻を今月の末日に変更する必要があります

どう変更するかが鍵…Java 8で呼び出せる既製のAPIがある…パースする必要がない…初日から変更してもいいけど、判断が多い最後まで頑張ります

コードは以下のようになります。与えられた条件に従ってisBetweenメソッドを記述します

リーリー

簡単な説明...
yyyy-mm Java8 には年と月の形式を処理するための新しいクラスがあります。これは YearMonth です (これは TemporalAdjuster 実装クラスです) )、LocalDate (Temporal の実装クラス) の with メソッドによると、実際には Temporal インターフェイスの with メソッドです。 , こちら Java8の新しい時刻APIの設計に伴い、withメソッドの署名は以下の通りですYearMonth(它是一个TemporalAdjuster的实现类),根据LocalDate(它是一个Temporal的实现类)的with方法,其实是Temporal接口的with方法,这里涉及到Java8的新时间API的设计,with方法签名如下

含义即是:一个Temporal对象可以根据一个TemporalAdjuster对象进行调整

所以结合到上面写的代码,思路如下

  1. 随意取了当前时间LocalDate A

  2. 把A根据传入的YearMonth进行修改(调用with方法),即调整时间的年和月,得到时间B

  3. 把B再根据一个调整器TemporalAdjusterTemporalAdjusters.firstDayOfMonth),调整时间的日,得到最后的时间

其实时间调整,在TemporalAdjusters

意味: Temporal オブジェクトは TemporalAdjuster オブジェクトに従って調整できるです 上で書いたコードと組み合わせると、アイデアは次のようになります

🎜 🎜🎜現在時刻 LocalDate Aをランダムに取得しました🎜🎜 🎜🎜 YearMonth で渡された値に従って A を変更します (with メソッドを呼び出します)。つまり、時刻の年と月を調整し、時刻 B を取得します🎜🎜 🎜🎜調整者 TemporalAdjuster (TemporalAdjusters.firstDayOfMonth) に従って B を入力し、時刻の日を調整し、最終時刻を取得します🎜🎜 🎜 🎜実際、一般的に使用される時間調整の多くは TemporalAdjusters にカプセル化されています。また、このクラスはシンプルで簡単で使いやすいことに注目してください。 🎜最後に、以前に接続した Java 8 の新しい時間 API の関係をいくつか示します。これらの関係に従って、新しい時間 API が使いやすいだけでなく、その関係を確認することができます。とても強力です🎜 🎜🎜🎜🎜🎜
いいねを押す +0
左手右手慢动作

Java8を使用している場合:

リーリー
いいねを押す +0
小葫芦

Java8 を使用していないが、Joda-time を使用している場合:

リーリー
いいねを押す +0
洪涛
  1. end は今月の最終日に変換する必要があります (例: 2017-06-30)。 2017-06-30

  2. 如果格式确定为yyyy-mmyyyy-mm-dd,那么用date.compareTo(start) >= 0 && date.compareTo(end) < 0就可以了;

  3. 如果有不规范的格式,比如2017-4-6

    形式が yyyy-mm または yyyy-mm-dd であると判断された場合は、 date.compareTo(start) >= 0 && date を使用します。 .compareTo(end) は問題ありません。
2017-4-6 などの非標準形式がある場合は、それを標準形式に変換するか、日付または長い形式 (日付は本質的に長いものです) に変換してから、比較する。 🎜🎜 🎜
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!