みなさんお疲れさまです
データテーブルのフィルタリング機能により、以下のように日付の比較をしたいです
ただ、列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
げ!挙動おかしいですね
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.