js에서 현재 시간대 여름철 발생 및 종료 시간 코드 가져오기
DST Calculator
<br>
<br>function DisplayDstSwitchDates()
<br>{
<br>var year = new Date().getYear();
<br>if (year < 1000)
<br>year += 1900;
<br>
<br>var firstSwitch = 0;
<br>var secondSwitch = 0;
<br>var lastOffset = 99;
<br>
<br>// Loop through every month of the current year
<br>for (i = 0; i < 12; i++)
<br>{
<br>// Fetch the timezone value for the month
<br>var newDate = new Date(Date.UTC(year, i, 0, 0, 0, 0, 0));
<br>var tz = -1 * newDate.getTimezoneOffset() / 60;
<br>
<br>// Capture when a timzezone change occurs
<br>if (tz > lastOffset)
<br>firstSwitch = i-1;
<br>else if (tz < lastOffset)
<br>secondSwitch = i-1;
<br>
<br>lastOffset = tz;
<br>}
<br>
<br>// Go figure out date/time occurences a minute before
<br>// a DST adjustment occurs
<br>var secondDstDate = FindDstSwitchDate(year, secondSwitch);
<br>var firstDstDate = FindDstSwitchDate(year, firstSwitch);
<br>
<br>if (firstDstDate == null && secondDstDate == null)
<br>return 'Daylight Savings is not observed in your timezone.';
<br>else
<br>return 'Last minute before DST change occurs in ' +
<br>year + ': ' + firstDstDate + ' and ' + secondDstDate;
<br>}
<br>
<br>function FindDstSwitchDate(year, month)
<br>{
<br>// Set the starting date
<br>var baseDate = new Date(Date.UTC(year, month, 0, 0, 0, 0, 0));
<br>var changeDay = 0;
<br>var changeMinute = -1;
<br>var baseOffset = -1 * baseDate.getTimezoneOffset() / 60;
<br>var dstDate;
<br>
<br>// Loop to find the exact day a timezone adjust occurs
<br>for (day = 0; day < 50; day++)
<br>{
<br>var tmpDate = new Date(Date.UTC(year, month, day, 0, 0, 0, 0));
<br>var tmpOffset = -1 * tmpDate.getTimezoneOffset() / 60;
<br>
<br>// Check if the timezone changed from one day to the next
<br>if (tmpOffset != baseOffset)
<br>{
<br>var minutes = 0;
<br>changeDay = day;
<br>
<br>// Back-up one day and grap the offset
<br>tmpDate = new Date(Date.UTC(year, month, day-1, 0, 0, 0, 0));
<br>tmpOffset = -1 * tmpDate.getTimezoneOffset() / 60;
<br>
<br>// Count the minutes until a timezone chnage occurs
<br>while (changeMinute == -1)
<br>{
<br>tmpDate = new Date(Date.UTC(year, month, day-1, 0, minutes, 0, 0));
<br>tmpOffset = -1 * tmpDate.getTimezoneOffset() / 60;
<br>
<br>// Determine the exact minute a timezone change
<br>// occurs
<br>if (tmpOffset != baseOffset)
<br>{
<br>// Back-up a minute to get the date/time just
<br>// before a timezone change occurs
<br>tmpOffset = new Date(Date.UTC(year, month,
<br>day-1, 0, minutes-1, 0, 0));
<br>changeMinute = minutes;
<br>break;
<br>}
<br>else
<br>minutes++;
<br>}
<br>
<br>// Add a month (for display) since JavaScript counts
<br>// months from 0 to 11
<br>dstDate = tmpOffset.getMonth() + 1;
<br>
<br>// Pad the month as needed
<br>if (dstDate < 10) dstDate = "0" + dstDate;
<br>
<br>// Add the day and year
<br>dstDate += '/' + tmpOffset.getDate() + '/' + year + ' ';
<br>
<br>// Capture the time stamp
<br>tmpDate = new Date(Date.UTC(year, month,
<br>day-1, 0, minutes-1, 0, 0));
<br>dstDate += tmpDate.toTimeString().split(' ')[0];
<br>return dstDate;
<br>}
<br>}
<br>}
<br>
<br>
<br>document.write("Current date/time: " + new Date() + "<br />");
<br>document.write(DisplayDstSwitchDates());
<br>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.