2017-10-02 4 views
1

Question très simple. J'utilise le type datetime de Matlab, donc je peux transporter des informations de fuseau horaire. Je dois obtenir une représentation de chaîne spécifique, pour entrer dans une base de données. Mais datestr() n'a pas de champs pour sortir tz info.Sortie timezone avec Matlab datestr()

a = datetime('now', 'TimeZone', 'UTC'); 

%need output in the format 'YYYYMMDDTHH:MM:SS+00:00' 

Des pensées?

Répondre

1

Vous pouvez obtenir la sortie que vous voulez en réglant le Format property de l'objet datetime pour afficher le fuseau horaire de décalage, la conversion à un character array, puis replacing the space par 'T':

>> a = datetime('now', 'TimeZone', 'UTC', 'Format', 'yyyyMMdd HH:mm:SSxxxxx') 

a = 

    datetime 

    20171002 21:37:74+00:00 

>> out = strrep(char(a), ' ', 'T') 

out = 

20171002T21:37:74+00:00 

Aussi, prenez note du cas des lettres dans la chaîne de format, comme cela est important pour certains d'entre eux.