wtorek, 29 grudnia 2020

regex data time

 Potrzebowałem dziś kodu, który pozwoli mi wyciągnąć datę wyrażeniem regularnym, to dość proste więc uznałem że sam napiszę...


Zapiszę dla potomności


var G_time = function(t) {
var regex = /(?<day>\d+)\.(?<month>\d+)\.(?<year>\d+).(?<hour>\d+)\:(?<minute>\d+)\:(?<second>\d+)/i;
var found = t.match(regex);


var G_time = found.groups;
var time = new Date(
2000 + Math.floor( G_time.year ),
Math.floor( G_time.month ) -1,
Math.floor( G_time.day ),
Math.floor( G_time.hour ),
Math.floor( G_time.minute ),
Math.floor( G_time.second ),
).getTime();
var teraz = new Date().getTime();
var zmienna = teraz-time;
if(zmienna > 0 )
return (zmienna/1000);

return '';
};

G_time('29.12.20 14:26:34:369');
'

Korzystałem z podglądu online, na stronie 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match

do debugowania, bo jednak miałem problemy z pierwszymi liczbami najpierw dzień , a potem godzina nie była znajdywana. Błąd był w użyciu . i *

Brak komentarzy:

Prześlij komentarz