最も近い最新の日付
by
mafucode
2014-10-19 [2014/10/19 18:29:39]
この例では今日の8時に最も近い日付を返す
-
/*
* @title 最も近い最新の日付
* @description この例では今日の8時に最も近い日付を返す
* @include http://*
* @license いまは迷っている
* @require
*/
(function(){
//今日の日本
function g(a){
var date=new Date();
var n=date.toISOString().match(/[^Z]+/)[0].split(/\D/);
return new Date(Date.UTC(n[0],n[1],n[2],a,0,0,0)-3600000*9).toISOString();
}
function f(a,b){
var date=new Date(g(b));
var k,i;
k=new Date();
k=a.shift();
while(i=a.shift()){
k=new Date(k);
i=new Date(i);
if(
Math.abs(k.getTime()-date.getTime())>Math.abs(i.getTime()-date.getTime())&&
(Math.abs(k.getTime()-date.getTime())==Math.abs(i.getTime()-date.getTime())||
k.getTime()<i.getTime())){
k=i;
}
}
return k;
}
alert (f([g(7),g(9),g(11)],8));
})();
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。