Я работаю с солнечным калькулятором и мне нужна контрольная дата / время, на которое НЕ влияют часовые пояса или изменения летнего времени.Как я стараюсь, javascript (и, я полагаю, браузер), разрушить плавное движение солнца в небе.Как я могу создать дату / время, через которое я могу шагать в шагах по минутам, часам, дням и месяцам, не вмешиваясь в это чертово летнее время?- Зоны и локализация не проблема.Проблема, похоже, заключается в том, что все мои определенные даты UTC всегда прыгают в DST.Только настоящее солнце этого не делает.
Некоторые из моих несчастных попыток здесь:
{ //UTC DATE OVERALL
myutcdate=new Date(mydate.getUTCFullYear(),mydate.getUTCMonth(),mydate.getUTCDate(),mydate.getUTCHours(),mydate.getUTCMinutes());
//myutcdate=new Date(mydate.valueOf()-localoffset*60*60*1000);
//var utcoffset=myutcdate.getTimezoneOffset/-60;
//if(mydate.isDST() && !myutcdate.isDST())myutcdate.setHours(myutcdate.getHours()+1);
//if(myutcdate.isDST())myutcdate.setHours(myutcdate.getHours()-1);
//myutcdate= new Date(mydate.getUTCFullYear(),mydate.getUTCMonth(),mydate.getUTCDate(),mydate.getUTCHours(),mydate.getUTCMinutes(),);
//myutcdate= new Date(mydate.toUTCString());
//myutcdate= new Date(mydate).toISOString();// returns just a sring, not a date, and cannot be converted to a date
//myutcdate= new Date(mydate.toISOString());//returns plain local time
//myutc= new Date(mydate.valueOf() - parseInt(localoffset)*60*60*1000 );
//myutcdate=Date.UTC(myutc.getFullYear(),myutc.getMonth(),myutc.getDate(),myutc.getHours(),myutc.getMinutes());
//myutcdate= new Date(myutcdate);
//document.getElementById('utcdate').innerHTML=myutcdate;//.toSimpleIso(); //myutcdate with own format
//document.getElementById('utcdate').innerHTML=myutcdate.getUTCFullYear()+"-"+String(myutcdate.getUTCMonth()+1)+"-"+myutcdate.getUTCDate()+" "+myutcdate.getUTCHours()+":"+myutcdate.getUTCMinutes();//.toSimpleIso(); //Yields to reducing double the zone of source date
//document.getElementById('utcdate').innerHTML=myutcdate.getFullYear()+"-"+String(myutcdate.getMonth()+1)+"-"+myutcdate.getDate()+" "+myutcdate.getHours()+":"+myutcdate.getMinutes();//.toSimpleIso(); //myutcdate with own format
document.getElementById('utcdate').innerHTML=mydate.toISOString();
}