web-dev-qa-db-ja.com

「時間の始まり」と「無限の未来」を表現する方法

私はレポート作成アプリケーションに取り組んでおり、開始日/終了日の範囲に基づいていくつかのレコードをフェッチします。ユーザーは、開始日および/または終了日の両方を空白のままにすることを選択できます。

例:

Example 1 - Date: 1/15/2010 to 2/3/2011
Example 2 - Date: [blank] to 2/3/2011
Example 3 - Date: 1/1/2010 to [blank]
Example 4 - Date: [blank] to [blank]

例1は、2010年1月1日から2011年2月3日までのすべてのレコードについてレポートします。例2は、2011年2月3日より前に終了したレコードについてレポートします。例3は、2011年1月1日より後に開始したレコードについてレポートします。例4は、すべてのレコードについてレポートします。

それらの[空白の]スポットについて言うのに最適なことは何ですか? "Beginning of Time"と "Infinite Future"は技術的に正しくありません-終了日を空白に、開始日を1/1/1970に設定して、1980年代に終了したレコードを取得できるためです。正確には「無限の未来」ではありません-「時間の始まり」と「無限の未来」はスペースの面でかなり長いです。

3

日付範囲を開く単一のフィールドを持つことができます。

ユーザーが日付の選択を完了すると、単一のフィールドに表示されます。

このように使用できます:

  1. 2010年1月15日から2011年2月3日
  2. 2011年2月3日まで
  3. 2010年1月1日から
  4. いつも
7
ΞΫΛL

ここでは、時間の始まりと終わりを実際に参照していません。データセットの最初からデータセットの最後までを意味します。

レポートされているデータセットに対するユーザーの親しみ具合に大きく依存して、製品でこれを2つの方法のいずれかで解決します。

オプション1

  1. 2010年1月15日から2011年2月3日
  2. 2011年2月3日より前(「2011年2月3日まで」または「2011年2月3日以前」の場合もあります)
  3. 2010年1月1日以降(「2010年1月1日以降」または「2010年1月1日以降」になる場合もあります)
  4. どちらのフィールドにも値がありません

選択する正確な表現は、検索に日付が含まれるか、含まれないかなどによって異なります。

オプション2

開始日と終了日をデータセットに表された実際の最初と最後の日付で自動入力し、次のようになります。

  1. 2010年1月15日から2011年2月3日
  2. 2009年1月1日から2011年2月3日
  3. 2010年1月1日から2011年3月28日(明確にするために、現在の日付の代わりに「今日」という単語を使用することもできます)
  4. 2009年1月1日から2011年3月28日

このオプションは、2009年1月1日がデータセットの始まりであることをユーザーが理解している場合にのみ意味があります。これは、データが何を表しているかに基づいて決定する必要があるものです。

2
Kit Grose