2017-11-16 7 views
1

Mathematica私は、与えられたタイムスタンプに最も近いタイムスタンプを見つけなければなりません。私が持っている:タイムスタンプのリストのように見えるものに何かを与えるMathematicaの最も近いタイムスタンプを見つける

alltrafotstamps = (DateList[#1]) & @@@ reddata[[All, 1]] 

何:

{"2017-11-10 21:36:12.135", "2017-11-10 21:36:50.535", 
"2017-11-10 21:37:28.935", "2017-11-10 21:38:07.335", ...} 

は、だから今私が行います

Nearest[alltrafotstamps, DateList["2017-11-10 22:56:50.535"]] 

と私は、このメッセージが表示されます。

Nearest::neard: The default distance function does not give a real numeric distance when applied to the point pair 2017 and 2017-11-10 21:36:12.135. 

それが最寄りの人になることはできますか?タイムスタンプのために、しかし時間のためだけそれをすることができますか?

答えて

0
alltrafotstamps = { 
    "2017-11-10 21:36:12.135", 
    "2017-11-10 21:36:50.535", 
    "2017-11-10 21:37:28.935", 
    "2017-11-10 21:38:07.335"}; 

target = "2017-11-10 21:37:00"; 

nearest = Nearest[ 
    AbsoluteTime /@ alltrafotstamps, 
    AbsoluteTime[target]]; 

DateObject @@ nearest 

DateList @@ nearest 
{2017, 11, 10, 21, 36, 50.535} 
+0

それは、おかげで動作します! NearestがDateオブジェクトに対して直接動作しないのは残念です。 – user3282997

関連する問題