5

私は個々のjsonデータのセットを持っています、それらはそれぞれ、この正確な形式で作成されたときのタイムスタンプを持っています。

 [ {"Name": "Jake", "created":"2013-03-01T19:54:24Z" },
   {"Name": "Rock", "created":"2012-03-01T19:54:24Z" } ]

結果として、データが今日から60日以内に入力された場合、イタリックで表示されることを計算する関数内で「created」を使用したいと思います。しかし、私が試した機能は効果がありません。ミリ秒単位で計算しようとしています。

     node.append("text")
    .text(function(d) { return d.Name; })
    .style("font", function (d)
           { var date = new Date(d.created);
             var k = date.getMilliseconds;
             var time = new Date ();
             var n = time.getTime();

       if(k > (n - 5184000) )  {return " Arial 11px italic"; }
                     else { return " Arial 11px " ; }


        })

実際にデータをミリ秒に変換しているかどうか知りたいです。また、今日の日付をミリ秒単位で取得している場合。

前もって感謝します

編集:例-http: //jsfiddle.net/xwZjN/84/

4

4 に答える 4

18

あなたのような日付文字列のエポックからのミリ秒を取得するには、次を使用しますDate.parse()

// ...
var k = Date.parse( d.created );
// ...
于 2013-03-03T21:40:50.090 に答える
9

手順に従って解決し、

var t = "08:00";
var r = Number(t.split(':')[0])*60+Number(t.split(':')[1])*1000;
console.log(r)

于 2017-08-16T11:45:29.880 に答える
9

let t = "08:30"; // hh:mm
let ms = Number(t.split(':')[0]) * 60 * 60 * 1000 + Number(t.split(':')[1]) * 60 * 1000;
console.log(ms);

let t = "08:30"; // mm:ss
let ms = Number(t.split(':')[0]) * 60 * 1000 + Number(t.split(':')[1]) * 1000;
console.log(ms);

于 2019-04-18T15:38:19.650 に答える
0
var timeInString = "99:99:99:99"; // Any value here
var milliseconds;
if (timeInString.split(":").length === 2) {
  /* For MM:SS */
  milliseconds =
    Number(timeInString.split(":")[0]) * 60000 +
    Number(timeInString.split(":")[1]) * 1000;
} else if (timeInString.split(":").length === 3) {
  /* For HH:MM:SS */
  milliseconds =
    Number(timeInString.split(":")[0]) * 3600000 +
    Number(timeInString.split(":")[1]) * 60000 +
    Number(timeInString.split(":")[2]) * 1000;
} else if (timeInString.split(":").length === 4) {
  /* For DD:HH:MM:SS */
  milliseconds =
    Number(timeInString.split(":")[0]) * 86400000 +
    Number(timeInString.split(":")[1]) * 3600000 +
    Number(timeInString.split(":")[2]) * 60000 +
    Number(timeInString.split(":")[3]) * 1000;
}

console.log(`Milliseconds in ${timeInString} - ${milliseconds}`);
于 2022-01-24T14:40:51.100 に答える