|
Tipp 0058
|
UTC-, Normal- und Sommer-Zeit ermitteln
|
|
|
Autor/Einsender: Datum: |
|
Michael Werner 10.10.2004 |
|
Entwicklungsumgebung: |
|
VB.Net 2003 |
Framework: |
|
1.1 |
|
|
Die Members der Klasse TimeZone dienen zur Ermittlung der Normalzeit
(Ortszeit), der UTC-Zeit, der lokalen Sommerzeit und dem Offset. Die koordinierte
Weltzeit (UTC) wurde früher als Greenwich Mean Time (GMT) bezeichnet. Die Ortszeit
ist die Zeit auf dem gegenwärtig verwendeten Computer. Offset ist die Differenz
zwischen Ortszeit und UTC (dies bedeutet Ortszeit = UTC + Offset).
|
|
|
Imports System.TimeZone
Public Class Form1
Inherits System.Windows.Forms.Form Vom Windows Form Designer generierter Code
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim c As Control
For Each c In Me.Controls
If TypeOf c Is Label Then
c.BackColor = Color.LightCoral
End If
Next
Label12.Text = "Aktuell gültigen Zeitzone"
Label13.Text = "Name der Normalzeit:"
Label14.Text = "Namen der Sommerzeitzone:"
Label15.Text = "Die Sommerzeit beginnt:"
Label16.Text = "Die Sommerzeit endet:"
Label17.Text = "Aktuelle UTC-Zeit:"
Label18.Text = "Aktuelle Lokalzeit:"
Label19.Text = "Aktuelle Zeitverschiebung gegenüber" & _
" UTC-Zeit in Minuten:"
Label20.Text = "Zeitverschiebung der Normalzeit " & _
"gegenüber UTC-Zeit in Minuten:"
Label21.Text = "Zeitverschiebung der Sommerzeit " & _
"gegenüber UTC-Zeit in Minuten:"
Label22.Text = "Unterschied zwischen Sommer- und " & _
" Winterzeit in Minuten:"
'Aktuelle Zeitzone
'-----------------
Dim tz As System.TimeZone = System.TimeZone.CurrentTimeZone
'Ausgabe des Namens der aktuell gültigen Zeitzone -
'beinhaltet die Abfrage, ob aktuell Sommerzeit ist:
'Name der aktuellen Zeitzone:
'----------------------------
If tz.IsDaylightSavingTime(Now) Then
Label1.Text = tz.DaylightName.ToString()
Else
Label1.Text = tz.StandardName.ToString()
End If
'Name der Normalzeit:
'--------------------
Label2.Text = tz.StandardName
'Sommerzeit Beginn/Ende
'----------------------
' Besitzt die aktuelle Zeitzone eine Sommerzeitzone?
If Len(tz.DaylightName) = 0 Then
Label3.Text = "Diese Zeitzone verwendet keine Sommerzeit."
Else
' Den Namen der Sommerzeitzone ausgeben:
Label3.Text = tz.DaylightName
' Start und Enddatum der Sommerzeit ermitteln
Dim dtStart, dtEnd As DateTime
dtStart = tz.GetDaylightChanges(Year(Now)).Start
dtEnd = tz.GetDaylightChanges(Year(Now)).End
'Die Sommerzeit beginnt und endet:
Label4.Text = dtStart.ToShortDateString & " " & _
dtStart.ToShortTimeString()
Label5.Text = dtEnd.ToShortDateString & " " & _
dtEnd.ToShortTimeString
'Umrechnung einer Lokalzeit in UTC-Zeit
'----------------------------------------
'Aktuelle Lokalzeit
Dim dt As DateTime = Now
'Berechnung der UTC-Zeit
Dim dtUtc As DateTime = tz.ToUniversalTime(dt)
'Aktuelle UTC-Zeit:
Label6.Text = dtUtc.ToString
' Umrechnung einer UTC-Zeit in Lokalzeit:
dt = tz.ToLocalTime(dtUtc)
'Aktuelle Lokalzeit:
Label7.Text = dt.ToString
'Die jeweiligen Zeitverschiebungen gegen UTC-Zeit ermitteln:
'-----------------------------------------------------------
'Die aktuelle Zeitverschiebung gegenüber UTC-Zeit beträgt
'(Minuten)
Label8.Text = tz.GetUtcOffset(Now).TotalMinutes.ToString
'Zeitverschiebung der Normalzeit gegenüber UTC-Zeit
'(Minuten)
Label9.Text = tz.GetUtcOffset(dtStart).TotalMinutes.ToString
'Zeitverschiebung der Sommerzeit gegenüber UTC-Zeit
'(Minuten)
Label10.Text = tz.GetUtcOffset(dtStart.AddDays(1)). _
TotalMinutes.ToString
'Ermitteln der Unterschieds zwischen Sommer- und
'Winterzeit (Minuten)
Label11.Text = tz.GetDaylightChanges(Year(Now)). _
Delta.TotalMinutes.ToString
End If
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Me.Close()
End Sub
End Class
|
|
|
|
|
Windows-Version |
98/SE |
|
|
ME |
|
|
NT |
|
|
2000 |
|
|
XP |
|
|
Vista |
|
|
Win
7 |
|
|
|
|
Download (7,9 kB)
|
Downloads bisher: [ 1044 ]
|
|
|