29 Haziran 2015 Pazartesi

Sistem Saatini Değiştirmek

Giriş
Normalde sistem saati ile oynamamak gerekir. NTP kurarak bu iş halledilir. Ancak birçok işletim sistemi sistem saatini değiştirmek için API de sunar. Sistem saatini almakla ilgili Epoch ve API başlıklı yazıya da göz atabilirsiniz.

Java
Java'da sistem saatini değiştirmek için bir API yok. Ancak harici bir uygulama kullanılarak bu iş yapılabilir. Windows'ta şöyle yaparız.
Runtime.getRuntime().exec("cmd /C date " + strDateToSet); // dd-MM-yy
Runtime.getRuntime().exec("cmd /C time " + strTimeToSet); // hh:mm:ss
Linux'ta ise şöyle yaparız.
Runtime.getRuntime().exec("date -s " + strDateTimeToSet); // MMddhhmm[[yy]yy]
Windows
SetSystemTime
C# örneği
[DllImport("kernel32.dll", SetLastError = true)]
extern static uint SetSystemTime(ref SYSTEMTIME systime);

private struct SYSTEMTIME
{
  public ushort wYear;
  public ushort wMonth;
  public ushort wDayOfWeek;
  public ushort wDay;
  public ushort wHour;
  public ushort wMinute;
  public ushort wSecond;
  public ushort wMilliseconds;
}

SYSTEMTIME systime = new SYSTEMTIME();
//..Populate systime
SetSystemTime(ref systime);

Hiç yorum yok:

Yorum Gönder