Feedback

C# - Setzen der Systemzeit

Veröffentlicht von am 11.05.2006
(2 Bewertungen)
So stellt man die Systemzeit, das Datum und die Zeit werden in einem DateTime Objekt übergeben.
using System;
using System.Runtime.InteropServices;

public class ZeitSetzen
{
 struct str_Zeit
  {
    public short Jahr;
    public short Monat;
    public short TagInDerWoche;
    public short Tag;
    public short Stunde;
    public short Minute;
    public short Sekunde;
    public short Millisekunde;
  }
   
  [DllImport("kernel32.dll", SetLastError=true)]
  static extern bool SetSystemTime(ref str_Zeit neueZeit);

  public  ZeitSetzen()
  {      
  }
  
  public void SetzeSystemzeit(DateTime NeueZeit)
  {
    str_Zeit Zeit = new str_Zeit();
    Zeit.Jahr = (short)NeueZeit.Year;
    Zeit.Monat = (short)NeueZeit.Month;
    Zeit.TagInDerWoche = (short)NeueZeit.DayOfWeek;
    Zeit.Tag = (short)NeueZeit.Day;
    Zeit.Stunde = (short)NeueZeit.Hour;
    Zeit.Minute = (short)NeueZeit.Minute;
    Zeit.Sekunde =(short)NeueZeit.Second;
    Zeit.Millisekunde = (short)NeueZeit.Millisecond;

    SetSystemTime(ref Zeit);
  }    
} 
Abgelegt unter DateTime, kernel32, systemzeit, setzen, uhr, stellen.

1 Kommentare zum Snippet

Muesli schrieb am 25.10.2010:
Da die Methode SetSystemTime eine UTC-Datumsangabe erwartet würde ich zu Beginn der Methode SetzeSystemzeit noch folgendes einfügen:

NeueZeit = NeueZeit.ToUniversalTime();
 

Logge dich ein, um hier zu kommentieren!