MATLAB: problème lors de la conversion de datetime en POSIX puis du même POSIX en datetime

Étant donné que j’ai spécifié le fuseau horaire en t, pourriez-vous expliquer pourquoi la dernière ligne ne le reconvertira pas en «XXXX-XX-XX 10:05:24», mais en «XXXX-XX-XX 09:05: 24 ‘?
 
t = datetime('2016-07-29 10:05:24', 'TimeZone','Europe/London') + calmonths(1:3) %-> ZONED datetime
p = posixtime(t)
datetime(p, 'ConvertFrom', 'posixtime')
 

Meilleure réponse

  • Lors de la conversion du posixtime en datetime, spécifiez le TimeZone en utilisant une paire nom-valeur. S’il n’est pas spécifié, les temps de posix sont considérés comme des temps UTC en raison desquels vous n’obtenez pas de résultats corrects.
     

    z = datetime(p, 'ConvertFrom', 'posixtime', 'TimeZone','Europe/London');