mirror of
https://github.com/acamarata/pray-calc.git
synced 2026-06-30 19:04:26 +00:00
71 lines
2.4 KiB
Markdown
71 lines
2.4 KiB
Markdown
# pray-calc
|
|
|
|
[](https://www.npmjs.com/package/pray-calc)
|
|
[](https://github.com/acamarata/pray-calc/actions/workflows/ci.yml)
|
|
[](LICENSE)
|
|
[](https://github.com/acamarata/pray-calc/wiki)
|
|
|
|
Islamic prayer times for any location and date. The primary method uses a physics-grounded dynamic twilight angle algorithm that adjusts Fajr and Isha angles for latitude, season, Earth-Sun distance, and atmospheric conditions. Fourteen traditional fixed-angle methods are included for comparison. Single runtime dependency: [nrel-spa](https://github.com/acamarata/nrel-spa).
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
npm install pray-calc
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
```typescript
|
|
import { calcTimes } from 'pray-calc';
|
|
|
|
const times = calcTimes(
|
|
new Date('2024-06-21'),
|
|
40.7128, // New York latitude
|
|
-74.0060, // longitude
|
|
-4, // UTC offset (hours)
|
|
);
|
|
|
|
console.log(times.Fajr); // "03:51:24"
|
|
console.log(times.Sunrise); // "05:25:08"
|
|
console.log(times.Dhuhr); // "13:01:17"
|
|
console.log(times.Asr); // "17:02:43"
|
|
console.log(times.Maghrib); // "20:31:17"
|
|
console.log(times.Isha); // "22:07:43"
|
|
```
|
|
|
|
CommonJS:
|
|
|
|
```js
|
|
const { calcTimes } = require('pray-calc');
|
|
```
|
|
|
|
Use `calcTimesAll` to get all 14 traditional method times alongside the dynamic result.
|
|
|
|
## TypeScript
|
|
|
|
```typescript
|
|
import type {
|
|
PrayerTimes,
|
|
FormattedPrayerTimes,
|
|
PrayerTimesAll,
|
|
MethodDefinition,
|
|
} from 'pray-calc';
|
|
```
|
|
|
|
## Documentation
|
|
|
|
Full API reference, dynamic algorithm details, traditional method table, and high-latitude handling: [GitHub Wiki](https://github.com/acamarata/pray-calc/wiki)
|
|
|
|
## Related
|
|
|
|
- [nrel-spa](https://github.com/acamarata/nrel-spa): NREL Solar Position Algorithm (the solar foundation)
|
|
- [luxon-hijri](https://github.com/acamarata/luxon-hijri): Hijri/Gregorian calendar
|
|
- [moon-sighting](https://github.com/acamarata/moon-sighting): Crescent visibility calculations
|
|
|
|
## Acknowledgments
|
|
|
|
Solar position calculations use [nrel-spa](https://github.com/acamarata/nrel-spa), a port of the NREL SPA by Ibrahim Reda and Afshin Andreas. The seasonal twilight model builds on the work of Khalid Shaukat (Moonsighting Committee Worldwide).
|
|
|
|
## License
|
|
|
|
MIT. Copyright (c) 2023-2026 Aric Camarata.
|