Comments (9)
@Hrsikesa108 it seems like you have inverted latitude and longitude, the geopos array in the rise_trans()
function should be longitude first, latitude second.
Also, you can use the jdut1_to_utc()
function to convert from julian day (jdut) to calendar date.
3 moon degrees equals roughly 6 hours difference, check for conversion between UTC and local time for your timezone.
const now = new Date();
const jd = utc_to_jd(
now.getUTCFullYear(),
now.getUTCMonth() + 1, // months in javascript Date start at 0
now.getUTCDate(),
now.getUTCHours(),
now.getUTCMinutes(),
now.getUTCSeconds() + now.getUTCMilliseconds() / 1000,
1 // gregorian calendar flag
);
const rise = rise_trans(
jd.data[1], // get jd_ut
0, // Sun
null,
2, // flag.SWIEPH,
1, // For rising
[79.51021061378489, 18.751372110577833, 170], // longitude first, latitude second
0,
0
);
const utc = jdut1_to_utc(
rise.data,
1 // gregorian calendar flag
);
const local = utc_time_zone(
utc.year,
utc.month,
utc.day,
utc.hour,
utc.minute,
utc.second,
-5.5 // time zone of -05:30
);
from sweph.
I'm not sure i understand what your issue is. As i do not know your location or your time zone, i cannot see what is correct and what is incorrect from your code.
The last parameter of the function utc_time_zone
has to be your correct time zone in decimal format, for example 15 minutes equals 0.25 in decimal, 30 minutes equals 0.5 in decimal, and the sign is negative for east of GMT and positive for west of GMT.
If your time zone is GMT-6 (6 hours less than GMT, ie New York), the parameter should be 6
, if your timezone is GMT+5:30 (5:30 hours more than GMT, ie India) then the parameter should be -5.5
.
Other than that i cannot help you without further information, like which values are incorrect and what values were you expecting to see.
from sweph.
Yes, all swisseph calculations are always done in UTC.
from sweph.
The function rise_trans
always looks for the next event starting from the input date and time. So for tomorrow's sunrise, any time today will work as long as its after today's sunrise. So it is safe to use the JavaScript current time new Date()
.
The code i showed you before in #12 (comment) should give you exactly the result you want.
Start with the current time, use Javascript's Date methods to get the UTC parts, calculate the julian day, calculate rise trans, convert sunrise julian day back to calendar date, then convert the date to your timezone.
from sweph.
Hello, could you describe all the steps you took for the entire process? In my tests everything is working correctly.
Also, are you using the latest version or the GPL version? When I run rise_trans()
with the exact same parameters you posted, I get 2460219.434819401
and not 2460218.928608603
.
from sweph.
Hi Timotejroiko ,
i am trying to calculate sun rise following below steps
i got sun rise around 9:37 am
but sun rise here in my locality is around 6.05 am
when i used to convert milliseconds to time using native new Date(milliseconds) of the output it
const {rise_trans} = sweph const rise = rise_trans( 2460414.072327234, 0, // Planet sun null, 2, // flag.SWIEPH, 1, // For rising [18.751372110577833, 79.51021061378489, 170], 0, 0, ) console.log("rise==>",rise) function millisecondsToTime(milliseconds) { const hours = Math.floor(milliseconds / (1000 * 60 * 60)); const minutes = Math.floor((milliseconds % (1000 * 60 * 60)) / (1000 * 60)); const seconds = Math.floor((milliseconds % (1000 * 60)) / 1000); return
${hours}:${minutes}:${seconds}`;
}
const milliseconds = (rise.data - 2460414.072327234) * 86400 * 1000; // Convert Julian date to milliseconds
// console.log("millisecons", milliseconds)
const utcDate = new Date(milliseconds);
const time = millisecondsToTime(milliseconds);
console.log('time===>',time);`
but im getting wrong output im confused lost in understanding properly
please can you help me guide me on this ?
also when i try to get moon longitude it is giving me 3 deg 20 min extra than the current moon longitude in my place, i have checked with jHora windows app
please can you help me on this
Regards,
Aravind
from sweph.
Hi sir
one doubt i have
i am using below code which you have suggested but found utc_time_zone is not properly converting current time
`
const getPanchanga = (now = new Date()) => {
console.log('timeNow', now)
const jd = utc_to_jd(now.getUTCFullYear(),
now.getUTCMonth() + 1, // months in javascript Date start at 0
now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds() + now.getUTCMilliseconds() / 1000, 1)
console.log('jd.data[1]==>', jd.data[1])
const rise = rise_trans(jd.data[1], SE_SUN, null, 2, // flag.SWIEPH
1,
[79.51021061378489, 18.751372110577833, 200],
0, 0)
console.log('sweph.constants==>', rise)
const utc = jdut1_to_utc(rise.data, 1) // gregorian calendar flag 1
console.log("utc==>", utc)
const local = utc_time_zone(utc.year, utc.month, utc.day, utc.hour, utc.minute, utc.second, -5.5)// time zone of -05:30
console.log('localTime', local)
const data = planets(jd.data[1])
// console.log('data==>', data)
const sunLong = data.sun.data[0]
const moonLong = data.moon.data[0]
console.log("sunLong==>", sunLong,"moonLong==>", moonLong)
const sign = zodiacSign(moonLong)
}
getPanchanga()
`
from use utc_time_zone function when given the timezone -5.5 i am getting below output which is showing 1 day extra
timeNow 2024-04-28T10:37:51.553Z jd.data[1]==> 2460428.94295912 sweph.constants==> { flag: 0, error: '', data: 2460429.5106294174 } utc==> { year: 2024, month: 4, day: 29, hour: 0, minute: 15, second: 18.266554176807404 } localTime { year: 2024, month: 4, day: 29, hour: 5, minute: 45, second: 18.266554176807404 }
when i use 1 without giving the time zone then it is giving the time of
timeNow 2024-04-28T10:42:55.702Z jd.data[1]==> 2460428.9464793634 sweph.constants==> { flag: 0, error: '', data: 2460429.5106294174 } utc==> { year: 2024, month: 4, day: 29, hour: 0, minute: 15, second: 18.266554176807404 } localTime { year: 2024, month: 4, day: 28, hour: 23, minute: 15, second: 18.266554176807404 }
means 5hr.30 min extra from my current time
can you please guide me
Thanks
from sweph.
sir one small doubt , please dont feel bad, every time we should pass current time in utc format only right for all calculations?
i am from india karimnagar, and time zone is GMT + 5.30 hrs
from sweph.
Hi sir,
If I want to know tomorrow's sunrise which date and time do I need to pass ?
tomorrow's date past mid night 12 or
tomorrow's date + GMT + 5.30
from sweph.
Related Issues (18)
- Need help with Angular integration HOT 2
- Wrong info in utc_time_zone() HOT 6
- Please update ephemeris download links HOT 1
- new feature HOT 1
- Issue in Electron HOT 2
- unable to install on Windows 11 HOT 2
- Astrodienst Dropbox folder is too big to be downloaded HOT 1
- Planet position different result from Astro.com birth chart HOT 8
- sweph.rise_trans returns incorrect value HOT 3
- SwissEph file 'sepl_18.se1' not found in PATH HOT 2
- Problem when using constants as array indices in TypeScript HOT 10
- A simple example how to build an Astrological Chart HOT 3
- Electronjs HOT 3
- react native compatibility HOT 3
- Error in house_name() method HOT 3
- Please help me out with deployment issue? HOT 16
- Unable to run on Windows HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sweph.