制作netcdf數(shù)據(jù)時(shí),常遇到需要轉(zhuǎn)換時(shí)間變量單位的問題。
netcdf數(shù)據(jù)常用時(shí)間單位有"days since xxx-xx-xx"、"hours since xxx-xx-xx"、儒略日。如何切換成各單位?
本文提供matlab幾個(gè)函數(shù),實(shí)現(xiàn)時(shí)間單位切換。
一、單位是"days since xxx-xx-xx":
以計(jì)算2023-1-1距離2020-1-1多少天為例:
代碼:
startDate = datenum('1-Jan-2020 00:00:00');
endDate = datenum('1-Jan-2023 00:00:00');
delta_days = endDate-startDate;
結(jié)果:
delta_days = 1096
二、單位是"hours since xxx-xx-xx":
在上面結(jié)果*24即可。
以計(jì)算2023-1-1 12:00:00距離2020-1-1 00:00:00多少天為例:
代碼:
startDate = datenum('1-Jan-2020 00:00:00');
endDate = datenum('1-Jan-2023 12:00:00');
delta_days = endDate-startDate;
delta_hours = delta_days * 24;
結(jié)果:
delta_days =1096.5
delta_hours =26316
三、單位是儒略日:
以計(jì)算2023-1-1 00:00:00的儒略日為例:
代碼:
date_time = datetime("2023-01-01 00:00:00")
time_juliandate = juliandate(date_time)
結(jié)果:
time_juliandate = 2459945.5
四、單位從"days since 2019-1-1"轉(zhuǎn)成"days since 2020-1-1"
代碼:
time = 1461;
endDate = time + datenum(2019,1,1);
startDate = datenum('1-Jan-2020 00:00:00');
delta_days = endDate-startDate;
結(jié)果:
delta_days =1096
總結(jié):通過下面幾個(gè)函數(shù)就可以實(shí)現(xiàn)時(shí)間單位的轉(zhuǎn)換:
datenum:時(shí)間轉(zhuǎn)成數(shù)值,用于計(jì)算時(shí)間的差值;
datetime:轉(zhuǎn)成時(shí)間數(shù)據(jù)類型;
days:數(shù)值加上天數(shù)的單位;
juliandate:時(shí)間轉(zhuǎn)成儒略日
-
MATLAB仿真
+關(guān)注
關(guān)注
4文章
176瀏覽量
19929
發(fā)布評論請先 登錄
相關(guān)推薦
評論