1

良い !

日付からデータを抽出するのに問題があります。問題は、文書化されていないAPIから番号を取得することです。

"作成済み":734394
"last_chapter_date":734883

365、242日(年間の正確な日数)で割ってみました

2010,705231052289
つまり、これらは明らかに0.0.0000から経過した日数です。

私は現在そのようなことを試みています:http: //jsfiddle.net/LRUy5/4/

function zero21970(nDays) {
    // 0     70   2013  
    // |-----|-----|  

    // 0 to date
    var dateMils = nDays*24*60*60*100;
    // 0 to 1970
    zeroTo1970 = (1970*365.242)*24*60*60*100;

    //subtract time from 0-1970 from the time 0-date
    //to cut out the part from 1970-today
    return new Date(dateMils-zeroTo1970);
}

//http://www.mangaeden.com/api/manga/4e70e9f6c092255ef7004344/
zero21970(734394) //-> Jan 26 1974

データベースに保存して、phpまたはjavascriptを介して操作する必要があります。この種の形式を認識している人はいますか、それとも便利な形式の方法を知っていますか?

編集:最後の章は2013年1月15日頃に出てきたことを付け加えておきます。

4

2 に答える 2

3

更新版:

最後の章が2013年のものだったとしたら、値はからの日数です01.01.0001。したがって、最初の日付を更新するだけでなく、メソッドを変更setHourssetDateて精度を高めることができます。

var date = new Date("0001");
date.setDate(734883);
date.toGMTString();  // "Tue, 15 Jan 2013 00:00:00 GMT"

デモ:http: //jsfiddle.net/LRUy5/6/


古いバージョン:

私は自分のコンピューターでうまく機能する1つの解決策を見つけました:

var date = new Date("0000");
date.setHours(734394 * 24);
date.toGMTString();  // "Mon, 13 Sep 2010 21:00:00 GMT"

デモ:http: //jsfiddle.net/LRUy5/5/

于 2013-01-19T00:42:53.673 に答える
0

PHPを使用している場合は、置き換える必要があります

return new Date(dateMils-zeroTo1970);

return date('Y-m-d', (dateMils-zeroTo1970));
于 2013-01-19T00:43:55.467 に答える