QT在Linux环境下读取和设置系统时间

本文博客链接:http://blog.csdn.NET/jdh99,作者:jdh,转载请注明.

环境

主机:Fedora12

开发软件:QT

读取系统时间

  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

 
设置系统时间
  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

http://blog.csdn.net/jdh99/article/details/7102196

QT在linux环境下读取和设置系统时间(通过system来直接调用Linux命令,注意权限问题)的更多相关文章

  1. DELPHI下读取与设置系统时钟

    在DELPHI下读取与设置系统时钟 很多朋友都想在自己的程序中显示系统时间 这在DELPHI中十分容易 利用DateToStr(Date)及TimeToStr(Time)函数即可实现. 二者的函数原型 ...

  2. linux环境下时区无法设置(UTC无法更改为CST)的问题解决

    在进行linux下修改时区的时候 总是修改不了 修改成 Asia/Shanghai  但是 时区总是 +0000 却不是想要的+0800 按照网上的方法 A方法:tzselect:执行tzselect ...

  3. [树莓派(raspberry pi)] 01、在linux环境下给树莓派安装系统及入门各种资料

    1.预准备 进入帮助页面https://www.raspberrypi.org/help/,可以直接看到GET START WITH PASPBERRY PI,点击进入: 接下来会引导你检查配件是否齐 ...

  4. 多线程编程之Linux环境下的多线程(二)

    上一篇文章中主要讲解了Linux环境下多线程的基本概念和特性,本文将说明Linux环境下多线程的同步方式. 在<UNIX环境高级编程>第二版的“第11章 线程”中,提到了类UNIX系统中的 ...

  5. 在LINUX环境下定时执行php脚本

    1. 使用Crontab定时执行linux环境下的php脚本文件 Cron,它是一个linux下的定时执行工具.根用户以外的用户可以使用 crontab 工具来配置 cron 任务.所有用户定义的 c ...

  6. 5.6 date:显示与设置系统时间

    date命令 用于显示当前的系统时间或设置系统时间. date [选项] +[日期格式]   date命令的参数选项及说明 OPTION参数选项-d 时间字符串 显示指定字符串所描述的时间,而非当前时 ...

  7. 教你如何在Kali Linux 环境下设置蜜罐?

    导读 Pentbox是一个包含了许多可以使渗透测试工作变得简单流程化的工具的安全套件.它是用Ruby编写并且面向GNU/Linux,同时也支持Windows.MacOS和其它任何安装有Ruby的系统. ...

  8. Linux环境下Oracle安装参数设置

    前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作.1.系统信息查看系统信息查看首先服务器ip:192.168.8.120服务器系统:Oracle Lin ...

  9. Linux环境下Eclipse对C++新特性的支持设置

    Linux环境下Eclipse对C++新特性的支持设置     今天写一个简单的关于C11中的array容器的测试程序如下, #include <iostream> #include &l ...

随机推荐

  1. 安装CentOS6.2操作系统

    原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...

  2. TensorFlow 下 mnist 数据集的操作及可视化

    from tensorflow.examples.tutorials.mnist import input_data 首先需要连网下载数据集: mnsit = input_data.read_data ...

  3. TensorFlow 实战(二)—— tf.train(优化算法)

    Training | TensorFlow tf 下以大写字母开头的含义为名词的一般表示一个类(class) 1. 优化器(optimizer) 优化器的基类(Optimizer base class ...

  4. 【干货】Chrome插件(扩展)开发全攻略(转)

    写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这个demo里面:https://github ...

  5. 警告异常:Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5

    1.打开 regedit.exe 注册表编辑器 2.找出文件名称 HKEY_CURRENT_USER\Software\JavaSoft 和 HKEY_LOCAL_MACHINE\SOFTWARE\J ...

  6. windows下Eclipse启动tomcat提示port已被占用 already in use

    >netstat -ano | findstr 8009 TCP    127.0.0.1:8005         0.0.0.0:0              LISTENING       ...

  7. C-order/Fortran-order(Row-/Column-major order)

    1. row-major / column-major order 无论是行序优先还是列序优先,其实在计算机计算中,指的都是在线性空间(linear storage,如 RAM,也即连续内存存储 co ...

  8. 机器学习: t-Stochastic Neighbor Embedding 降维算法 (一)

    Introduction 在计算机视觉及机器学习领域,数据的可视化是非常重要的一个应用,一般我们处理的数据都是成百上千维的,但是我们知道,目前我们可以感知的数据维度最多只有三维,超出三维的数据是没有办 ...

  9. 用 Expression Blend 创建酷炫的 Button

    原文:用 Expression Blend 创建酷炫的 Button 原文:Creating "Cool" Buttons with Expression Blend Author ...

  10. python 教程 第二十二章、 其它应用

    第二十二章. 其它应用 1)    Web服务 ##代码 s 000063.SZ ##开盘 o 26.60 ##最高 h 27.05 ##最低 g 26.52 ##最新 l1 26.66 ##涨跌 c ...