Convert day of year to UTC format?

5 次查看(过去 30 天)
How would I go about converting this format to matlab UTC format?
ie:
2012-259T01:53:15.50194
2012-259T01:53:16.50194

采纳的回答

Cris LaPierre
Cris LaPierre 2023-7-14
T = ["2012-259T01:53:15.50194";
"2012-259T01:53:16.50194"];
T = datetime(T,'InputFormat','uuuu-DDD''T''HH:mm:ss.SSSSS')
T = 2×1 datetime array
15-Sep-2012 01:53:15 15-Sep-2012 01:53:16
  12 个评论
Cris LaPierre
Cris LaPierre 2023-7-17
It is a best practice to always pair a hold on with a hold off. You can usually get things to look the way you want without it. The impact is usually later when you rerun your script, or if you create new plots by plotting in the same figure window. It's best to get in the habit while you are learning.

请先登录,再进行评论。

更多回答(1 个)

Rahul
Rahul 2023-7-14
编辑:Rahul 2023-7-14
Hey Brandon,
The date time format provided by you, seemed to in the ISO 8601 format. Breaking down the format:
  • '2012-259': date as year and day of the year. In this case, it indicates the 259th day of the year 2012.
  • 'T': This is a separator indicating the start of the time component.
  • '01:53:15': time in hours, minutes, and seconds. In this case, it indicates 1 hour, 53 minutes, and 15 seconds.
  • '.50194': fractional part of the seconds. In this case, it indicates 50194 milliseconds.
You can use the following snippet to convert it to a standard UTC Timezone format:
inputTime = ['2012-259T01:53:15.50194'; '2012-259T01:53:16.50194'];
dt = datetime(inputTime, 'InputFormat', 'uuuu-DDD''T''HH:mm:ss.SSSSS', 'TimeZone', 'UTC')
dt = 2×1 datetime array
15-Sep-2012 01:53:15 15-Sep-2012 01:53:16
You can refer to the datetime function documentation to further customize the code as per your needs.
Hope that Helped!

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by