how to use datetime for special time format?

2 vues (au cours des 30 derniers jours)
pooria mazaheri
pooria mazaheri le 12 Avr 2019
Commenté : pooria mazaheri le 19 Avr 2019
hi guys
i have this kind of time format:
but "datetime" function does not work.
would u help me? thanks in advance.
  1 commentaire
Brian Hart
Brian Hart le 12 Avr 2019
Can you post the command that doesn't work, with the error message? Did you try specifying the InputFormat setting?

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 13 Avr 2019
It is not possible to create a single datetime() call that will handle all three of those lines. You need to separate out the lines with the two different formats. The InputFormat to use for the 312 line is 'yyyy-MM-dd HH:mm:ss.SSSSSS' . For the 311 and 313 line, the format would be the same without the '.SSSSSS'
  2 commentaires
Peter Perkins
Peter Perkins le 16 Avr 2019
Walter's right; the4 usual thing to do would be to use 'yyyy-MM-dd HH:mm:ss to convert "most" of them, then go back and use 'yyyy-MM-dd HH:mm:ss.SSSSSS' to convert the rest. You can find the ones that didn't convert using isnat.
>> s = ["2019-04-16 11:56:14" "2019-04-16 11:56:15.123" "2019-04-16 11:56:16"]
s =
1×3 string array
"2019-04-16 11:56:14" "2019-04-16 11:56:15.123" "2019-04-16 11:56:16"
>> d = datetime(s,'Format','dd-MMM-yyyy HH:mm:ss.SSS')
d =
1×3 datetime array
16-Apr-2019 11:56:14.000 NaT 16-Apr-2019 11:56:16.000
>> d(isnat(d)) = datetime(s(isnat(d)),'InputFormat','yyyy-MM-dd HH:mm:ss.SSS')
d =
1×3 datetime array
16-Apr-2019 11:56:14.000 16-Apr-2019 11:56:15.123 16-Apr-2019 11:56:16.000
pooria mazaheri
pooria mazaheri le 19 Avr 2019
thank you all

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Distribution Plots dans Help Center et File Exchange

Produits


Version

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by