2017-11-16 13 views
1

in Mathematica Ich muss einen Zeitstempel am nächsten zu einem gegebenen finden. Ich habe:Den nächsten Zeitstempel in Mathematica finden

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

was gibt etwas, was wie eine Liste der Zeitstempel sieht: Ich mache

{"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", ...} 

So jetzt:

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

und ich bekomme diese Meldung:

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. 

Kann es sein, dass Nearest das nicht tun kann für Timestamp, aber kann es nur für Zeiten tun?

Antwort

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

Es funktioniert, danke! Es ist schade, dass Nearest nicht direkt auf Date-Objekte funktioniert. – user3282997

Verwandte Themen