10で追加されたNSDateIntervalクラスを使って何ができるかを確認してみます。ベータ版として公開されているドキュメントを情報源としています。そのため、正式版と異なる情報になる可能性があります。ご留意の上、お読みください。10からFoundationフレームワークに追加されたクラスで、2つの日時の間隔を表現することが出来るクラスです。以下のようなプロパティを持ちます。(上記の日時の間隔(秒))ちなみにSwiftにおいてはNSDateIntervalのブリッジとなるDateIntervalというstructureが用意されているのでそちらを使用します。これらはちょうどNSStringとStringのような関係にあたります。以下の実装ではSwiftなのでDateIntervalを使用します。実装それでは実装を確認していきましょう。NSDateIntervalを生成するNSDateIntervalを生成する方法は以下の3種類が用意されています。endDate)print(dateInterval_3)実行結果は下記のようになります。+0000引数を何も指定しないで生成した場合は開始日時と終了日時に同じ現在日時がセットされます。この場合もちろんdurationは0となります。Boolを使用するとある日時がNSDateIntervalが持つ日時の範囲に含まれているかどうかをチェックすることができます。\(contains2)")実行結果は下記のようになります。true範囲に含まれる場合はtrue、含まれない場合はfalseが返却されます。Boolを使用すれば、2つのNSDateIntervalについて重複部分が存在するかどうかをチェックすることができます。\(intersects2)")実行結果は下記のようになります。false2016年6月1日から6月30日までの範囲のDateIntervalに対して、2016年6月20日から7月20日までの範囲のDateIntervalと、2016年7月1日から7月20日までの範囲のDateIntervalそれぞれに重複部分が存在するかどうかをチェックしています。2016年6月1日から6月30日までと2016年6月20日から7月20日までの範囲では6月20日から6月30日までの重複部分が存在するのでtrueが返却されます。対して、2016年6月1日から6月30日までと2016年7月1日から7月20日までの範囲では重複部分が存在しないのでfalseが返却されます。Boolを使用すれば、2つのNSDateIntervalについて重複部分が存在するかどうかをチェックすることができます。DateInterval?も用意されています。\(intersection2)")実行結果は下記のようになります。nilちゃんと想定した重複部分がDateIntervalで返ってきました。重複部分が存在しない場合はnilが返却されます。ComparisonResultを使用します。print("orderedSame")}実行結果は下記のようになります。orderedAscending比較はまず最初に開始日時で行われ、仮に開始日時が同じ場合には日時間隔で比較が行われるようです。比較結果に応じて以下のように列挙型ComparisonResultが返却されます。開始日時が同じでレシーバーの日時間隔が引数のDateIntervalの日時間隔よりも長い場合orderedSame開始日時と日時間隔がレシーバーと引数のDateIntervalで一致する場合まとめNSDateIntervalについてまとめてみました。日時の範囲に特定の日付が含まれているかを確認するには、今まで2つの日時と対象の日時をそれぞれ比較することで行っていました。NSDateIntervalのようなクラスを自作していた方もいるかと思います。10で追加された機能の中でも比較的地味ですが、こういう地味だけどどんなアプリでも使う足支えとなるような機能も重要だと思い記事にしてみました。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。夏目祐樹147こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。タイトルがすべてなのですが、社内で「登壇勉強会」が開催されたので、「登壇は最強の生存戦略である」というタイトルで登壇しました。本が出ていたので読んでみたところよかったので紹介させていただきます。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介255SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健233こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。カフェ店長のオカノです。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。