1

私が取り組んでいる angularJS アプリケーションでは、SQL サーバーを使用してデータを提供しています。そこに奇妙なことは何もありません。私は日付の衛生管理を任されているため、アプリケーションに渡される SQL 最小日付値を持つオブジェクトは定義されておらず、日付を持つオブジェクトは JavaScript の Date オブジェクトです。

アップグレード中に、最小日付に定義されている文字列が変更されることがあります。現在、0001-01-01T00:00:00Z です。変更される可能性があるため、文字列比較だけではできません。

私の問題は、JavaScriptでこの最小日付を決定するにはどうすればよいですか? new Date(varThatIsMinDate) は有効な日付です。MomentJS も有効であると考えており、技術的には有効な日付です。検証についてはあまり心配していませんが、「最小日付ですか」について心配しています。

ズールー語のパターン 0001-01-01T00:00:00Z または javascript で同様のものから最小日付 === true をどのように判断しますか?

これまでの私のコードは、あなたがそれを要求することを知っているからです:

if (response.config.responseType === 'json')        {
      for (var property in response.data) {
        if (response.data.hasOwnProperty(property)) {

          if (property.toUpperCase().indexOf('DATE') > -1 || property.toUpperCase().indexOf('TIME') > -1) {
            console.log(property.toUpperCase());
            // Attempt to use JS built in date and validate
            var tmpDate = new Date(response.data[property]);
            if ($moment(tmpDate).isValid()) {
              // Make it a valid date object if it has a valid date
              response.data[property] = tmpDate;
            } else {
              // Make it undefined
              response.data[property] = undefined;
            }
          }
        }
      }
    }

問題は、常に有効であるため、このコードは機能しません。

編集:私はチートして tmpDate.getUTCFullYear() === 1 を使用することができましたが、これを正しい方法で行う方法を知りたいです。

4

0 に答える 0