Convert time string to 24 hour format then into Decimal using current time clock
古いコメントを表示
I am trying to convert the variable AST from a string to a number in 24 hour format. I would then like to store AST as a new variable, call it 'ASTdec' in decimal i.e AST at 13:30 = 13.5 so that I can manipulate it with other eqns. AST is the solar time, converted from regular clock time.
background code:
c = clock();
tsNow = datenum(c);
tsStart = datenum([c(1) 1 1 0 0 0]);
daysInYear = tsNow - tsStart;
DayOfYear = floor(daysInYear)+1;
get current LST time in 24 hour format:
datestr(now);
d = rem(now,1);
datestr(d);
time = datestr(d, 'HH:MM');
get apparent solar time AST:
B = 360/365*(DayOfYear-81);
EoT = 9.87*sind(2*B)-7.53*cosd(B)-1.5*sind(B);
Correction = EoT - (4*(0-3.173));
Declination = 23.45*sind((360/365)*(284+DayOfYear));
AST = datestr(d - datenum([0 0 0 0 Correction 0]));
Tried using:
ASTVec = datevec(AST, 'HH:MM');
SolarMinutes = ASTVec(5);
SolarHours = ASTVec(4);
to get the vector and then do manipulation with the vector cells to get my decimal but SolarHours are not in 24 hr format because the string is not in 24 hour format. Variable
Correction
is already a value of time expressed in decimal and is used to define AST.
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Time Series Objects についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!