4
한 달에 몇 시간을 계산할 수있는 내장 함수가 있습니까? 일광 절약 시간제 (1 시간 추가 또는 감소)가 필요합니다.월별 일광 절약 시간제
한 달에 몇 시간을 계산할 수있는 내장 함수가 있습니까? 일광 절약 시간제 (1 시간 추가 또는 감소)가 필요합니다.월별 일광 절약 시간제
자정이 항상 유효하지 않은 시간대에하지 않은 경우에, 당신이 뭔가를 할 수 있습니다 (사과 VB에서 구문이 약간 꺼져있는 경우) 다음을 가지고
Dim start = New DateTime(year, month, day, 0, 0, 0, DateTimeKind.Local)
Dim end = start.AddMonths(1)
Dim length = end.ToUniversalTime() - start.ToUniversalTime()
Dim hours = length.TotalHours
잠재적 인 문제는 DST 전환이 현지 시간 자정에 발생하는 브라질과 같은 경우입니다. 위의 내용은 모두 으로 시스템 로컬 시간대를 사용하려면을 사용한다고 가정합니다.
는 Noda Time, 당신은 다음, 적절한 LocalDate
가치를 창출 할 수있는 ZonedDateTime
at the start of the relevant day로 변환하고, 어떤 모호함없이, 차이를 그런 식으로 작동합니다. C# 예 :
var zone = ... // Whatever DateTimeZone you want...
var start = new LocalDate(year, month, day);
var end = start.PlusMonths(1);
var startInstant = zone.AtStartOfDay(start).ToInstant();
var endInstant = zone.AtStartOfDay(end).ToInstant();
var duration = endInstant - startInstant;
var hours = duration.Ticks/NodaConstants.TicksPerHour;