歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Qt在Linux環境下讀取和設置系統時間

Qt在Linux環境下讀取和設置系統時間

日期:2017/3/1 10:38:54   编辑:Linux編程

環境

主機:Fedora 12

開發軟件:QT

讀取系統時間

[cpp]
  1. void moreidDialog::refresh_time()
  2. {
  3. QDateTime time;
  4. txt_time->setText(time.currentDateTime().toString("yyyy") + "." + \
  5. time.currentDateTime().toString("M") + "." + \
  6. time.currentDateTime().toString("d") + "." + \
  7. time.currentDateTime().toString("h") + "." + \
  8. time.currentDateTime().toString("m"));
  9. }
讀取到分,時間間隔用".",最終讀取並顯示的效果:2011.12.27.9.14
設置系統時間 [cpp]
  1. //保存時間鍵
  2. void moreidDialog::slot_save_time_key()
  3. {
  4. QDateTime time;
  5. QString str = txt_time->text();
  6. //判斷格式是否正確
  7. if (str.count(".") != 4)
  8. {
  9. txt_time->setText(tr("ge shi cuo wu"));
  10. return;
  11. }
  12. int i = 0,j = 0;
  13. i = str.indexOf(".");
  14. QString year = str.mid(0,i);
  15. j = str.indexOf(".",i + 1);
  16. QString month = str.mid(i + 1,j - i - 1);
  17. i = j;
  18. j = str.indexOf(".",i + 1);
  19. QString day = str.mid(i + 1,j - i - 1);
  20. i = j;
  21. j = str.indexOf(".",i + 1);
  22. QString hour = str.mid(i + 1,j - i - 1);
  23. i = j;
  24. j = str.indexOf(".",i + 1);
  25. QString min = str.mid(i + 1,j - i - 1);
  26. bool ok = false;
  27. year.toInt(&ok);
  28. if (ok == false)
  29. {
  30. txt_time->setText(tr("ge shi cuo wu"));
  31. return;
  32. }
  33. month.toInt(&ok);
  34. if (ok == false)
  35. {
  36. txt_time->setText(tr("ge shi cuo wu"));
  37. return;
  38. }
  39. day.toInt(&ok);
  40. if (ok == false)
  41. {
  42. txt_time->setText(tr("ge shi cuo wu"));
  43. return;
  44. }
  45. hour.toInt(&ok);
  46. if (ok == false)
  47. {
  48. txt_time->setText(tr("ge shi cuo wu"));
  49. return;
  50. }
  51. min.toInt(&ok);
  52. if (ok == false)
  53. {
  54. txt_time->setText(tr("ge shi cuo wu"));
  55. return;
  56. }
  57. str = "date -s " + month + "/" + day + "/" + year;
  58. system(str.toLatin1().data());
  59. str = "date -s " + hour + ":" + min + ":" + "00";
  60. system(str.toLatin1().data());
  61. //強制寫入到CMOS
  62. system("clock -w");
  63. }
同步系統時鐘與硬件時鐘時間命令: 硬件時鐘同步到系統時鐘:hwclock --hctosys 系統時鐘同步到硬件時鐘:hwclock -systohc
Copyright © Linux教程網 All Rights Reserved