Differenze tra le versioni di "Sapere quanti secondi bisogna aggiungere all'orario locale per ottenere l'orario UTC"
Da Gambas-it.org - Wikipedia.
Riga 8: | Riga 8: | ||
==Uso delle risorse esterne di GLib-2.0== | ==Uso delle risorse esterne di GLib-2.0== | ||
− | Library "libglib-2.0:0. | + | Library "libglib-2.0:0.8000.2" |
Private Enum G_TIME_TYPE_STANDARD = 0, G_TIME_TYPE_DAYLIGHT, G_TIME_TYPE_UNIVERSAL | Private Enum G_TIME_TYPE_STANDARD = 0, G_TIME_TYPE_DAYLIGHT, G_TIME_TYPE_UNIVERSAL |
Versione attuale delle 08:21, 1 lug 2024
Per sapere in Italia (Central European Time) quanti secondi bisogna aggiungere all'orario locale per ottenere l'orario UTC [nota 1], si può utilizzare la Proprietà ".TimeZone" della Classe System:
Public Sub Main() Print System.TimeZone End
Uso delle risorse esterne di GLib-2.0
Library "libglib-2.0:0.8000.2" Private Enum G_TIME_TYPE_STANDARD = 0, G_TIME_TYPE_DAYLIGHT, G_TIME_TYPE_UNIVERSAL ' GTimeZone ° g_time_zone_new_identifier(const gchar °identifier) ' Creates a GTimeZone corresponding to identifier. Private Extern g_time_zone_new_identifier(identifier As String) As Pointer ' gint g_time_zone_find_interval(GTimeZone *tz, GTimeType type, gint64 time_) ' Find an interval within tz that corresponds to given time_. Private Extern g_time_zone_find_interval(tz As Pointer, type As Integer, time_ As Long) As Integer ' gint32 g_time_zone_get_offset(GTimeZone *tz, gint interval) ' Determines the offset to UTC. Private Extern g_time_zone_get_offset(tz As Pointer, interval As Integer) As Integer ' void g_time_zone_unref(GTimeZone *tz) ' Decreases the reference count on tz. Private Extern g_time_zone_unref(tz As Pointer) Public Sub Main() Dim gtz As Pointer Dim itv, off As Integer Dim timezone As String timezone = Replace(File.Load("/etc/timezone"), gb.NewLine, "\x00") gtz = g_time_zone_new_identifier(timezone) If gtz == 0 Then Error.Raise("Errore !") itv = g_time_zone_find_interval(gtz, G_TIME_TYPE_STANDARD, DateDiff(CDate("01/01/1970 00:00:00"), Now, gb.Second)) off = g_time_zone_get_offset(gtz, itv) Print off; " = "; Time(0, 0, 0, off * 1000) g_time_zone_unref(gtz) End
Note
[1] Tempo universale coordinato (UTC): La base del tempo civile dal 1960. È approssimativamente uguale all'ora solare media al meridiano primo (0 gradi di longitudine).