Skip to content

MATLAB / Octave SDK

Install

addpath('/path/to/timenow/sdk/matlab')
savepath  % persist across sessions

No external dependencies — uses built-in webread (MATLAB) or curl fallback (Octave).

Quick Start

Class-based

client = timenow.TimeNowClient('http://localhost:8090');

% Solar time for London
solar = client.getSolar(51.5074, -0.1278);
fprintf('Solar time: %s\n', solar.local_solar_time);
fprintf('Offset: %.1f min\n', solar.civil_solar_offset_min);

% Social jetlag
jetlag = client.getJetlag(39.47, 75.99);
fprintf('Risk: %s\n', jetlag.risk_level);

Function-based

result = timenow_solar(51.5074, -0.1278, 'base_url', 'http://localhost:8090');
jetlag = timenow_jetlag(39.47, 75.99);
health = timenow_health();

Methods (Class)

Method Parameters Returns API endpoint
getSolar lat, lng [, dt] struct GET /solar
getJetlag lat, lng struct GET /solar/jetlag
getPrayer lat, lng [, date] struct GET /solar/prayer
getAlmanac lat, lng [, year] struct GET /solar/almanac
getReform lat, lng struct GET /solar/reform
getDeviationMap lat, lng struct GET /world/deviation-map
getHealth struct GET /health

Standalone Functions

Function Parameters API endpoint
timenow_solar lat, lng [, 'base_url', url, 'dt', dt] GET /solar
timenow_jetlag lat, lng [, 'base_url', url] GET /solar/jetlag
timenow_prayer lat, lng [, 'base_url', url, 'date', date] GET /solar/prayer
timenow_almanac lat, lng [, 'base_url', url, 'year', year] GET /solar/almanac
timenow_reform lat, lng [, 'base_url', url] GET /solar/reform
timenow_health ['base_url', url] GET /health
timenow_deviation_map lat, lng [, 'base_url', url] GET /world/deviation-map

Error Handling

try
    result = client.getSolar(999, 0);
catch ME
    fprintf('Error: %s\n', ME.message);
end

MATLAB uses webread which throws on non-2xx responses. The Octave fallback checks curl exit codes.