日付の2つの文字列を比較したいと思います。形式は次のとおりです。 (例:2017年4月5日) 現在の日付よりも優れているかどうかを確認したい。 (2017年12月6日)これは難しいことなしに可能でしょうか?Javascriptは2つの文字列を特定の形式で比較します
d1 = "5 april 2017"
d2 = "5 december 2017"
if (d1<d2){
//do this
}
日付の2つの文字列を比較したいと思います。形式は次のとおりです。 (例:2017年4月5日) 現在の日付よりも優れているかどうかを確認したい。 (2017年12月6日)これは難しいことなしに可能でしょうか?Javascriptは2つの文字列を特定の形式で比較します
d1 = "5 april 2017"
d2 = "5 december 2017"
if (d1<d2){
//do this
}
まず、日付文字列からdate
個のオブジェクトを作成する必要があります。日付の比較のために
d1 = "5 april 2017"
d2 = "5 december 2017"
d3 = "05/04/2017";
d4 = "05/12/2017"
compareDates(d1, d2);
compareDates(d2, d1);
compareDates(d3, d4);
compareDates(d4, d3);
function compareDates(date1, date2)
{
if((new Date(date1) > new Date(date2)))
console.log('Is ' + date1 + ' greater than ' + date2 + '? '+ '= ' + true);
else
console.log('Is ' + date1 + ' greater than ' + date2 + '? '+ '= ' + false);
}
実際に私の月が英語以外の言語であれば、それは動作しませんので、英語でも番号でも翻訳する必要があります。 – LovePoke
@LovePokeあなたの質問は何ですか?あなたの現在の質問から立っているので、私の答えはうまくいくでしょう。その言語が他の言語であれば、ローカリゼーションを考慮する必要があり、異なるボールゲームです。なぜ特定の日付形式にコミットしないのですか? –
ええ、申し訳ありませんが、ローカリゼーションが問題になるとは思わなかった^^ "次に、特定の形式に変換してgetTime()を使用する必要があります。私が前に述べたように、それぞれの日付を現在の日付と比較してください – LovePoke
、それはミリ秒または秒でそれらを取得することが最善です。 JavaScriptを使用すると、日付を新しいDateオブジェクトに渡してから、getTime
関数を呼び出してミリ秒単位で取得できます。
var d1 = new Date("5 april 2017").getTime();
var d2 = new Date("5 december 2017").getTime();
if (d1 < d2) {
//do this
}
組み込みパーサーを使用することはお勧めできません。[* Date.parseはなぜ間違った結果?*](https://stackoverflow.com/questions/2587345/why-does-date-parse-give-in正しい結果) – RobG
何を試しましたか? –