データテーブルのフィルタリング機能(日付比較)

みなさんお疲れさまです
データテーブルのフィルタリング機能により、以下のように日付の比較をしたいです
ただ、列0はString型でYYYY/MM/DDの値が格納されてまして、startdateなどもstring型でYYYY/MM/DDが格納されています。やりたいことは、stardateとenddateの期間にあるレコードのみ、抽出したいです。

フィルタリングの基本として、同じ列属性同士で比較をするって思っています。
ですので、String型のYYYY/MM/DD≧String型のYYYY/MM/DDならOKでしょうけど、これは文字列としての比較になるので、自至の範囲とは言いにくいですね。

一度、DateTime型の新しい列を作ってDateTime.ParseでDateTime型に変換してから、自至を評価させて見ては如何でしょう?

@HANACCHI
ありがとうございます
いろいろ試した結果、以下のようにしました

コレクションの各要素にて、コレクションには、データテーブル.select()とし、本体のところで条件式を追加
条件文にデータテーブルの値と文字列変数を、それぞれdatetime.parseで変換して比較
文字列変数はstartdateとenddateがあるため、条件式をandalsoにて設定し、範囲外の時は、データ行を削除にてレコード削除

1 Like

ちょっと腑に落ちないんですよねぇ。日付を文字列として判断する方法。

例えば、2020/5/1と2020/5/11と2020/5/2とで、文字列的な評価でどれが一番大きいか?となると、ToString(“yyyy/M/d”)ではなく、ToString(“yyyyMMdd”)の方がいいのではないか?

と、検証もしていないけど、心がゾワゾワします。

1 Like

げ!挙動おかしいですね

以下のように直します!

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.