時間文字列(「8:02 AM」など)を並べ替え可能なフィールドに変換するにはどうすればよいですか

mpc75

私のMongoDBデータベースには現在、文字列として時間が含まれていますが、特定の時間の間のクエリをフィルタリングできるようにしたいと思います。

たとえば、データベースの時間フィールドは「8:02 AM」と「10:20 PM」のようになり、「8:00 AM」と「9:00 AM」の間の結果のみで結果をフィルタリングできるようにしたいと考えています。 AM」。私の考えでは、すべての文字列をその日の分である数値に変換することです。たとえば、「9:00 AM」は540になり、「10:20 PM」は1,340になりますが、もっと多くのことが必要です。これを行うための効率的な方法私が見逃している明らかなものはありますか?

JavaScriptも試しましたDate()が、それは私がESTであると想定し、時間をGMTに変換しました。これはまったく必要ありません。

動作しているように見えるいくつかのぎこちないコードですが、もっと良い方法があると確信しています:

const time_function = (time) => {
    const split_string = time.replace(" ",":").split(":")
    if(split_string[0]==="12" && split_string[2]==="AM"){
        split_string[0] = "0"
        split_string.push(0)
    } else if(split_string[0]==="12" && split_string[2]==="PM"){
        split_string.push(0)
    } else if(split_string[2]=="PM"){
        split_string.push(720)
    } else if (split_string[2]==="AM"){
    split_string.push(0)
    }
    const minutes = (parseInt(split_string[0])*60)+parseInt(split_string[1])+split_string[3]
    return minutes
}
マイケル

日は重要ではないように思われるので、任意の修正日を想定し、文字列をミリ秒に変換してそれらを比較することができます。

const lower = '8:00 AM'
const upper = '9:30 PM'
const time  = '12:24 PM'
const delta_lower = Date.parse(`1/1/1970 ${lower}`)
const delta_upper = Date.parse(`1/1/1970 ${upper}`)
const delta_time  = Date.parse(`1/1/1970 ${time}`)
console.log(delta_time > delta_lower && delta_time < delta_upper) //prints true

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

phpを使用して時間を「08:60:02」から「09:00:02」に変換するにはどうすればよいですか?

分類Dev

フィールドを適切に使用して配列を並べ替えるにはどうすればよいですか

分類Dev

jqを使用して日時フィールドで並べ替えるにはどうすればよいですか?

分類Dev

オブジェクトの配列を特定のフィールドで並べ替えるにはどうすればよいですか?

分類Dev

Silverstripe管理者のメンバーリストに並べ替え可能な列を追加するにはどうすればよいですか?

分類Dev

データフレーム内にない配列でデータフレームを並べ替えるにはどうすればよいですか

分類Dev

パンダスティックな方法で列の順序(並べ替え)を変更するにはどうすればよいですか?

分類Dev

オブジェクトの配列を条件付きの3つのフィールドで並べ替えるにはどうすればよいですか?null値は常に最後になります

分類Dev

PHPで多次元配列を時間値で並べ替えるにはどうすればよいですか?

分類Dev

CSqldataproviderを使用してCGridView列を並べ替え可能にするにはどうすればよいですか?

分類Dev

SQL Server ReportingServicesレポートの式列にインタラクティブな並べ替えを追加するにはどうすればよいですか

分類Dev

SQL Server ReportingServicesレポートの式列にインタラクティブな並べ替えを追加するにはどうすればよいですか

分類Dev

テーブルに適用される並べ替え時にスコープ変数を変更するにはどうすればよいですか?

分類Dev

ファイルを再帰的にリストし、変更時間で並べ替えるにはどうすればよいですか?

分類Dev

Python strptimeとstrftimeを使用して、2017-02-09T09:43:04.216 + 1000のような日時形式を2017年2月9日に変換するにはどうすればよいですか?

分類Dev

配列を並べ替えるにはどうすればよいですか?

分類Dev

Microsoft Excelで行の高さが変わらないように、列を並べ替えるにはどうすればよいですか?

分類Dev

レコードに名前が付いているレコードの配列をアルファベット順に並べ替えるにはどうすればよいですか:文字列フィールド?

分類Dev

テーブルの列を並べ替えるにはどうすればよいですか

分類Dev

Logstashのフィールドの文字列を置き換えるにはどうすればよいですか

分類Dev

文字列のベクトルを降順で並べ替えるにはどうすればよいですか?

分類Dev

MATLABコードを並列化して、可能なすべての3タプルをより迅速に出力するにはどうすればよいですか?

分類Dev

列だけでなくシート全体を並べ替えるように列の並べ替えを変更するにはどうすればよいですか?

分類Dev

列だけでなくシート全体を並べ替えるように列の並べ替えを変更するにはどうすればよいですか?

分類Dev

並べ替えられていない配列のキーを、配列が並べ替えられた場合のキーに変更するにはどうすればよいですか?

分類Dev

データの並べ替え時にRecyclerViewを更新するにはどうすればよいですか?

分類Dev

特定の列の値に従ってパンダデータファイルの文字列を並べ替えるにはどうすればよいですか?

分類Dev

Apache POIを使用してXSSFTable列の並べ替え/フィルタリングを有効にするにはどうすればよいですか?

分類Dev

2011年2月1日のように日時フィールドを文字列に変換するにはどうすればよいですか?

Related 関連記事

  1. 1

    phpを使用して時間を「08:60:02」から「09:00:02」に変換するにはどうすればよいですか?

  2. 2

    フィールドを適切に使用して配列を並べ替えるにはどうすればよいですか

  3. 3

    jqを使用して日時フィールドで並べ替えるにはどうすればよいですか?

  4. 4

    オブジェクトの配列を特定のフィールドで並べ替えるにはどうすればよいですか?

  5. 5

    Silverstripe管理者のメンバーリストに並べ替え可能な列を追加するにはどうすればよいですか?

  6. 6

    データフレーム内にない配列でデータフレームを並べ替えるにはどうすればよいですか

  7. 7

    パンダスティックな方法で列の順序(並べ替え)を変更するにはどうすればよいですか?

  8. 8

    オブジェクトの配列を条件付きの3つのフィールドで並べ替えるにはどうすればよいですか?null値は常に最後になります

  9. 9

    PHPで多次元配列を時間値で並べ替えるにはどうすればよいですか?

  10. 10

    CSqldataproviderを使用してCGridView列を並べ替え可能にするにはどうすればよいですか?

  11. 11

    SQL Server ReportingServicesレポートの式列にインタラクティブな並べ替えを追加するにはどうすればよいですか

  12. 12

    SQL Server ReportingServicesレポートの式列にインタラクティブな並べ替えを追加するにはどうすればよいですか

  13. 13

    テーブルに適用される並べ替え時にスコープ変数を変更するにはどうすればよいですか?

  14. 14

    ファイルを再帰的にリストし、変更時間で並べ替えるにはどうすればよいですか?

  15. 15

    Python strptimeとstrftimeを使用して、2017-02-09T09:43:04.216 + 1000のような日時形式を2017年2月9日に変換するにはどうすればよいですか?

  16. 16

    配列を並べ替えるにはどうすればよいですか?

  17. 17

    Microsoft Excelで行の高さが変わらないように、列を並べ替えるにはどうすればよいですか?

  18. 18

    レコードに名前が付いているレコードの配列をアルファベット順に並べ替えるにはどうすればよいですか:文字列フィールド?

  19. 19

    テーブルの列を並べ替えるにはどうすればよいですか

  20. 20

    Logstashのフィールドの文字列を置き換えるにはどうすればよいですか

  21. 21

    文字列のベクトルを降順で並べ替えるにはどうすればよいですか?

  22. 22

    MATLABコードを並列化して、可能なすべての3タプルをより迅速に出力するにはどうすればよいですか?

  23. 23

    列だけでなくシート全体を並べ替えるように列の並べ替えを変更するにはどうすればよいですか?

  24. 24

    列だけでなくシート全体を並べ替えるように列の並べ替えを変更するにはどうすればよいですか?

  25. 25

    並べ替えられていない配列のキーを、配列が並べ替えられた場合のキーに変更するにはどうすればよいですか?

  26. 26

    データの並べ替え時にRecyclerViewを更新するにはどうすればよいですか?

  27. 27

    特定の列の値に従ってパンダデータファイルの文字列を並べ替えるにはどうすればよいですか?

  28. 28

    Apache POIを使用してXSSFTable列の並べ替え/フィルタリングを有効にするにはどうすればよいですか?

  29. 29

    2011年2月1日のように日時フィールドを文字列に変換するにはどうすればよいですか?

ホットタグ

アーカイブ