2016-01-11 4 views

ответ

5

Так что вы хотите, стандарт Unix, который может быть рассчитан следующим образом:

InputDate=datenum('20141008 233402','yyyymmdd HHMMSS'); 
UnixOrigin=datenum('19700101 000000','yyyymmdd HHMMSS'); 

EpochSecond=round((InputDate-UnixOrigin)*86400); 

>> 1412811242 

EDIT для формата даты в OP в:

MYSTRING = '08/10/2014 23:34:02'; 
InputDate = datenum(MYSTRING,'dd/mm/yyyy HH:MM:SS'); 
UnixOrigin=datenum('19700101 000000','yyyymmdd HHMMSS'); %//This can stay the same, unless you want to change it for consistency. 
EpochSecond=round((InputDate-UnixOrigin)*86400); 

>>1412811242 
+0

Спасибо за помощь. Не могли бы вы просто объяснить мне, как конвертировать «08/10/2014 23:34:02» в «20141008 233402», как вы использовали в своем ответе? – Bob

+1

@Bob, это формат yyyymmdd, что означает, что 2014 - это yyyy (год в 4 разряда), 10 (октябрь - я нахожусь в Великобритании, и это то, как представлена ​​дата) и 08 (8-й день). – GameOfThrows

+0

Не могли бы вы просто рассказать мне, как конвертировать строки «08/10/2014 23:34:02» в формат «yyyymmdd HHMMSS» в Matlab? На самом деле у меня их много для конвертации ... – Bob

Смежные вопросы