Why doesn't timezone work with datetime
    15 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    AB
 am 24 Aug. 2023
  
    
    
    
    
    Bearbeitet: Seth Furman
    
 am 14 Sep. 2023
            I want to convert a posix time to a datetime for the time zone at a specific longitude. The timezone function gives you the time zone at a specific longitude, but none of the outputs are accepted by datetime.
[a,b,c] = timezone(-80)
try
    datetime(1685585049.879,'ConvertFrom','posixtime','TimeZone',a)
end
try
    datetime(1685585049.879,'ConvertFrom','posixtime','TimeZone',b)
end
try
    datetime(1685585049.879,'ConvertFrom','posixtime','TimeZone',c)
end
0 Kommentare
Akzeptierte Antwort
  Star Strider
      
      
 am 24 Aug. 2023
        The timezone function is from the Mapping Toolbox, and its results are not compatible with the datetime function.  The otherwise compatible timezones function does not take longitude arguments.  
Try this instead — 
TZ = string(fix(-80/15))                            % Time Zone (-80° Longitude)
Time = datetime(1685585049.879,'ConvertFrom','posixtime','TimeZone',TZ)
.
0 Kommentare
Weitere Antworten (1)
  Seth Furman
    
 am 14 Sep. 2023
        
      Bearbeitet: Seth Furman
    
 am 14 Sep. 2023
  
      The value of TimeZone can be an ISO 8601 character vector of the form +HH:mm or -HH:mm; for example, '+01:00', to specify a time zone that is a fixed offset from UTC.
lon = 80;
zd = timezone(lon)
tz = compose("%+03d:00",zd)
dt = datetime(1685585049.879,ConvertFrom="posixtime",TimeZone=tz)
0 Kommentare
Siehe auch
Kategorien
				Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


