System.TimeZoneInfo ha un metodo chiamato IsDaylightSavingTime, che accetta un oggetto DateTime e restituisce true se il datetime specificato cade nell'ora legale per quel fuso orario. Esiste una funzione equivalente in NodaTime o un altro modo per ottenere lo stesso risultato?Qual è l'equivalente di System.TimeZoneInfo.IsDaylightSavingTime in NodaTime?
8
A
risposta
9
È possibile ottenere questo da un ZoneInterval
. Ecco un metodo di estensione che ti aiuterà.
public static bool IsDaylightSavingsTime(this ZonedDateTime zonedDateTime)
{
var instant = zonedDateTime.ToInstant();
var zoneInterval = zonedDateTime.Zone.GetZoneInterval(instant);
return zoneInterval.Savings != Offset.Zero;
}
ora si può fare:
zdt.IsDaylightSavingsTime();
Se non si dispone di un ZonedDateTime
, è possibile ottenere uno da un DateTimeZone
più o un Instant
o un LocalDateTime
. Oppure puoi massaggiare questo metodo di estensione per prenderli come parametri.
Aggiornamento: Questa funzione è ora inclusa in Noda Time v1.3 e versioni successive, quindi non è più necessario scrivere il metodo di estensione da soli.
Problemi correlati
- 1. Converti NodaTime DateTimeZone in TimeZoneInfo
- 2. Qual è l'equivalente di ServiceStack.Text dei convertitori Json.NET, ad esempio se applicato ai tipi NodaTime?
- 3. Creare un LocalDate NodaTime che rappresenti "oggi"
- 4. Come si usano le classi NodaTime in un PropertyGrid?
- 5. Converti ora UTC in ora locale utilizzando Nodatime
- 6. Ottenere l'ora legale Inizio e fine in NodaTime
- 7. Come analizzare un valore di stringa ISO su NodaTime Instant?
- 8. Con NodaTime, come si formatta un ZonedDateTime nella cultura corrente
- 9. uso NodaTime per calcolare un periodo compreso giorni
- 10. Utilizzo di NodaTime per convertire i valori datetime non validi (saltati) in UTC
- 11. Qual è il significato di "==" in C?
- 12. Qual è l'equivalente di "sys.stdout.write()" in Ruby?
- 13. Qual è lo scopo di :: in C#?
- 14. Qual è l'uso di Invoke() in .net?
- 15. Qual è l'equivalente di "go" in MySQL?
- 16. Qual è l'equivalente di NSHomeDirectory() in CoreFoundation?
- 17. Qual è l'equivalente di "gem" in python?
- 18. Qual è l'utilizzo di '@@' in SQL Server
- 19. Qual è l'utilizzo di "~>" in cocoapods
- 20. Qual è l'equivalente di getattr() in Julia
- 21. Qual è l'equivalente di apk in iOS?
- 22. Qual è l'equivalente di Program.cs in VB.NET
- 23. Qual è l'equivalente di dispatch_block_t in swift?
- 24. Qual è l'equivalente di bigint in C#?
- 25. Qual è l'alternativa di selenium.isElementPresent in WebDriver
- 26. Qual è l'uso di MongoDB in GrayLog2?
- 27. In dust.js, qual è l'interfaccia di streaming?
- 28. Qual è l'equivalente di @autoreleasepool in Swift?
- 29. Qual è l'utilizzo di PTHREAD_CREATE_JOINABLE in pthread?
- 30. qual è l'uso di MemoryFile in Android
Ho aggiunto ora una richiesta di funzionalità per includerla direttamente in ZonedDateTime: https://code.google.com/p/noda-time/issues/detail?id=264 –