C++怎样获取当前系统时间?

  • 1、调用cmd函数来获取当前时间
  • 2、识别系统API来获取当前时间
  • 3、直接获取系统时间

1、调用cmd函数来获取当前时间

这个模块并不是特别的麻烦,因为这种方法是直接使用cmd命令进行获取以及更改系统时间的一种方法,

但是并不建议大家使用,尤其是有杀毒软件的,因为这个程序涉及到系统的一些更改,当然就非常容易被误认为是一种木马病毒,就拿联想的扬天来说,装机自带迈克菲碰到要更改系统的一些程序直接关闭,并不像360杀毒先是列入程序的木马黑名单,但是自己可以强制使其运行,那废话不多说,先来看一下程序:

#include <stdlib.h>
using namespace std;int main()
{system("time");return 0;
}

当然,我在这里并不会多讲system的命令,大家有需要的话可以参考一下我的另外一篇博文:C++里的调用cmd命令的方法

那在这里我就先只展示这个程序的运行后的效果:

2、识别系统API来获取当前时间

使用系统内部的API来获取当前时间是我最喜欢用的,它不仅优秀,而且高大上! 咳咳,不好意思,说错了,应该是:它不仅好用,而且精确,更是因为,非常好理解这对于新手小白也是从未有过的福音!

那直接来看程序:

#include <stdio.h>
#include <windows.h>
using namespace std;int main()
{SYSTEMTIME sys;GetLocalTime(&sys);printf("%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\n",sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute, sys.wSecond,sys.wMilliseconds,sys.wDayOfWeek);return 0;
}

这里我觉得有必要将一下,此处的sys.wYear是表示年的数字,sys.wDayOfWeek是表示一周里面的星期几,以此类推,每个英文单词的前面都加上一个小写的“w“就是这个函数的命令的调用

那我们再来看一张图片:

当然,细心的小伙伴会发现,printf里面有些空格和”/“这些东西大家都可以修改,因为这个是控制输出的样式的,并不影响程序最后的结果,就比如下面的这张图:

最后再多一句嘴:通过API命令获取到的时间是可以直接作为变量储存的,也就是说,可以直接可以用作判断变量

就例如前不久刚刚完工的一个程序,我就是用的API命令来获取的时间,并定义成int类型的变量,最后在实现判断的功能~~

3、直接获取系统时间

直接获取法是比较难理解的一种方法,但是一旦会用它,那就叫一个畅通无阻但是这种方法到底有多难理解呢?

打个比喻:有一棵100米的树,每天白天,你能上升2厘米,晚上,你要掉1厘米,也就是说,整整一天只能够上升1厘米,但是现在树的净高是100米,计算一下需要多少天,再想象一下自己如果真的在那种情况下的话,恐怕天数,不仅仅是一个数字那么简单

那对于爱挑战的小伙伴来说,这无疑是个大好的机会,那我们就来看一看代码吧!

#include<iostream>
#include<time.h>
using namespace std;  int main()
{  //获取系统时间  time_t now_time=time(NULL);  //获取本地时间  tm*  t_tm = localtime(&now_time);  //转换为年月日星期时分秒结果,如图:  printf("local time is    : %s\n", asctime(t_tm));  //将时间转换为秒  time_t mk_time = mktime(t_tm);  //也可以自己定义一个时间  //定义截止时间  struct tm deadline_tm;  deadline_tm.tm_sec=0;//[0~59]  deadline_tm.tm_min=10;//[0~59]  deadline_tm.tm_hour=13;//[0~23]  deadline_tm.tm_isdst=0;//default  deadline_tm.tm_mday=31;//[1~31]  deadline_tm.tm_mon=2;//[0~11]
}

很多的小伙伴包括我看到这么多的代码和注释,脑壳痛,快用万通筋骨贴! Emm。。。(突然感觉这像是植入的广告)但是千万别抠脑壳,我们一起来解读一下这个代码:

首先是头文件:

#include<iostream>
#include<time.h>

这个应该不用过多的去解说,就是普普通通的两个头文件

其次是获取两种时间:

  • 1、获取系统时间
  • 2、获取本地时间
//获取系统时间
time_t now_time=time(NULL);
//获取本地时间
tm*  t_tm = localtime(&now_time);

那获取这两种时间有什么用呢,其实在这里我尝试过只获取一种时间来获取当前时间,但是我的电脑上运行好似不行,但是大家也可以尝试一下,比如说注释一段,等等,但是这里想提醒大家的是:两种时间都是有关联性的,也就是说,没有这个时间,那么下一个时间就执行不了运算的功能

//转换为年月日星期时分秒结果,如图:
printf("local time is    : %s\n", asctime(t_tm));
//将时间转换为秒
time_t mk_time = mktime(t_tm);

这一段就只是一个运算与转换的模块,后面方便输出的时候的可视化,不然。。。(大家可以试试没有转换与运算的模块是什么东东,我是看不懂~)

最后,来说一下最后的一个模块:

//定义截止时间
struct tm deadline_tm;
deadline_tm.tm_sec=0;//[0~59]
deadline_tm.tm_min=10;//[0~59]
deadline_tm.tm_hour=13;//[0~23]
deadline_tm.tm_isdst=0;//default
deadline_tm.tm_mday=31;//[1~31]
deadline_tm.tm_mon=2;//[0~11]

这个大家不用深入了解,只不过是一个告诉编译器这个时间是60进制的而已啦!突然感觉电脑是一个”聪明的傻子“

好了,以上就是今天的内容,之后我还会继续更新我的博客,欢迎大家关注我的博客,查看更多的文章!也欢迎大家在CSDN社区里面发布自己的一些发现和经验!拜拜!

C++怎样获取当前系统时间?相关推荐

  1. JAVA中获取当前系统时间

    JAVA中获取当前系统时间 转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输 ...

  2. python获取当前时间的函数_java/python中获取当前系统时间,并与字符串相互转换格式,或者转化成秒数,天数等整数...

    java转换成秒数 Date类有一个getTime()可以换回秒数,例如: public classDateToSecond {public static voidmain(String[] args ...

  3. c语言编程获取当前系统时间包含年,月,日,时,分,秒.,C语言获取系统时间的几种方式...

    核心提示:C语言中如何获取时间?精度如何?1使用time_ttime(time_t*timer)精确到秒2使用clock_tclock()得到的是CPU时间精确到1/CLOCKS_PER_SEC秒3计 ...

  4. Windows下C/C++获取当前系统时间

    Windows下CC获取当前系统时间 方案一localtime 优点仅使用C标准库缺点只能精确到秒级 方案二GetLocalTime sys   优点能精确到毫秒级缺点使用了windows API 方 ...

  5. 关于Java中获取当前系统时间

    一. 获取当前系统时间和日期并格式化输出: 1 import java.util.Date; 2 import java.text.SimpleDateFormat; 3 4 public class ...

  6. Perl获取当前系统时间

    Perl获取当前系统时间 Perl 2010-12-06 10:41:57 阅读236 评论0   字号:大中小 订阅 perl有两个取得时间的函数:localtime和gmtime 两个函数的用法一 ...

  7. java怎么获取当前日期_JAVA中获取当前系统时间

    一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...

  8. js如何获取计算机当前时间,js获取当前系统时间

    搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. var myDate = new Date(); myDate.getYear( ...

  9. java中取系统时间_JAVA中获取当前系统时间(示例代码)

    一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowStrin ...

  10. Js获取当前系统时间,24小时制

    Js获取当前系统时间 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    / ...

最新文章

  1. 安装SQL SERVER 2000时提示:以前的某个程序安装已在安装计算机上创建挂起的文件操作。...
  2. mysql8出现The MySQL server is running with the --skip-grant-tables option so it cannot execute
  3. (转)网站推广优化教程100条(SEO,网站关键字优化,怎么优化网站,如何优化网站关键字)...
  4. 前端开发攻城狮必须知道的开发环境和插件
  5. Axure元件库:ElementUI元件、蚂蚁金服元件
  6. yml的基本语法,以及java读取yml文件
  7. iPhone上传文件到ftp服务器,将文件上传到iPhone上的FTP服务器
  8. 实现弹出窗口提示_AX
  9. 利用 confluence 打造属于自己的知识库
  10. 双摄方案android,科普短文,各种手机双摄像头搭配方案及工作原理简介
  11. JAVA方式对接FIL节点钱包(也有离线)
  12. 让研发团队找准市场需求
  13. MySQL必知必会!!!看这一篇就足够了!!!
  14. 测相伪距观测方程、线性组合
  15. LPC1768 PWM1输出PWM示例
  16. 学透for循环-传统for循环与增强for循环
  17. CCMP之播放列表(高仿千千静听)
  18. mkdir创建目录失败的原因
  19. Exchange 2016的MAPI over HTTP简介
  20. 电力系统潮流计算(牛顿-拉夫逊法、高斯-赛德尔法、快速解耦法)【6节点 9节点 14节点 26节点 30节点 57节点】(Matlab代码实现)

热门文章

  1. Mac苹果电脑远程的方法和教程
  2. 士兵队列训练问题 (队列 c++)
  3. python multiprocessing_Python的multiprocessing模块详解
  4. 活在IT,半路捡起硌脚的石子
  5. (转)编程的三层境界——器、术、道
  6. 去哪儿网2023正式秋招啦,来这里可以内推
  7. 洛谷 [P1593 因子和] {快速幂+费马小定理求逆元+求解质因子} 奋斗的珂珂~
  8. xxljob默认登录_三千字带你搞懂XXL-JOB任务调度平台
  9. 云服务器购买与使用(学生优惠)
  10. 介词 before behind before beside between