windows平台获取系统时间
1.方法1
1.1 示例代码
#include <time.h>
#include <stdio.h>int main()
{//获取系统时间,精确到秒struct tm sysTm;time_t tm = time(0);char showTm[100] = { 0 };localtime_s(&sysTm, &tm);//格式化当前时间点到字符数组中sprintf_s(showTm,99,"%04d-%02d-%02d %02d:%02d:%02d", sysTm.tm_year + 1900, sysTm.tm_mon + 1, sysTm.tm_mday, sysTm.tm_hour, sysTm.tm_min, sysTm.tm_sec);//打印当前时间点,,精确到秒printf("%s\n",showTm);//打印当前时间点的详细说明printf("年:%d\n", sysTm.tm_year + 1900);printf("月:%d\n", sysTm.tm_mon + 1);printf("日:%d\n", sysTm.tm_mday);printf("一周中的第几天:%d\n", sysTm.tm_wday);printf("一年中的第几天:%d\n", sysTm.tm_yday);printf("时:%d\n", sysTm.tm_hour);printf("分:%d\n", sysTm.tm_min);printf("秒:%d\n", sysTm.tm_sec);return 0;
}
1.2 struct tm结构体的成员说明和取值范围
struct tm
{int tm_sec; // seconds after the minute - [0, 60] including leap secondint tm_min; // minutes after the hour - [0, 59]int tm_hour; // hours since midnight - [0, 23]int tm_mday; // day of the month - [1, 31]int tm_mon; // months since January - [0, 11]int tm_year; // years since 1900int tm_wday; // days since Sunday - [0, 6]int tm_yday; // days since January 1 - [0, 365]int tm_isdst; // daylight savings time flag
};
1.3 优缺点
缺点
只能精确到秒,无法获取毫秒数
优点
可以直接获得当前日期是一年中的第几天,和是星期几
2.方法2
2.1 示例代码
#include <time.h>
#include <stdio.h>
#include <wtypesbase.h>//SYSTEMTIME头文件int main()
{//获取系统时间,精确到毫秒SYSTEMTIME sysTm;GetLocalTime(&sysTm);char bufTime[100] = { 0 };sprintf_s(bufTime, 99, "%04d-%02d-%02d %02d:%02d:%02d.%03d", sysTm.wYear, sysTm.wMonth, sysTm.wDay, sysTm.wHour, sysTm.wMinute, sysTm.wSecond, sysTm.wMilliseconds);printf("%s\n",bufTime);//打印当前时间点的详细说明printf("年:%d\n", sysTm.wYear);printf("月:%d\n", sysTm.wMonth);printf("日:%d\n", sysTm.wDay);printf("一周中的第几天:%d\n", sysTm.wDayOfWeek);printf("时:%d\n", sysTm.wHour);printf("分:%d\n", sysTm.wMinute);printf("秒:%d\n", sysTm.wSecond);printf("毫秒:%d\n", sysTm.wMilliseconds);return 0;
}
2.2 struct SYSTEMTIME结构体说明
typedef struct _SYSTEMTIME {WORD wYear;//年WORD wMonth;//月WORD wDayOfWeek;//星期几WORD wDay;//日WORD wHour;//小时WORD wMinute;//分WORD wSecond;//秒WORD wMilliseconds;//毫秒
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
2.3 优缺点
缺点
不能跨平台,需包含Windows头文件
优点
可以获取到毫秒,写法比较简单易理解
3.封装成函数进行调用
#include <time.h>
#include <stdio.h>
#include <wtypesbase.h>//SYSTEMTIME头文件char* GetDate()
{//获取系统时间,精确到毫秒SYSTEMTIME sysTm;GetLocalTime(&sysTm);char bufTime[100] = { 0 };sprintf_s(bufTime, 99, "%04d-%02d-%02d", sysTm.wYear, sysTm.wMonth, sysTm.wDay);return bufTime;
}char* GetDateTime()
{//获取系统时间,精确到毫秒SYSTEMTIME sysTm;GetLocalTime(&sysTm);char bufTime[100] = { 0 };sprintf_s(bufTime, 99, "%04d-%02d-%02d %02d:%02d:%02d.%03d", sysTm.wYear, sysTm.wMonth, sysTm.wDay, sysTm.wHour, sysTm.wMinute, sysTm.wSecond, sysTm.wMilliseconds);return bufTime;
}int main()
{char buf1[100] = { 0 };strcpy_s(buf1, GetDate());printf("%s\n", buf1);char buf2[100] = {0};strcpy_s(buf2,GetDateTime());printf("%s\n",buf2);return 0;
}
windows平台获取系统时间相关推荐
- windows上获取系统时间
一. 通过time_t和tm struct tm {int tm_sec; // seconds after the minute - [0, 60] including leap secondin ...
- 获取系统时间出错oracle-,oracle 获取系统时间(转)
Oracle中如何获取系统当前时间 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; ORACLE里获取一个时间的年.季.月.周.日 ...
- VC++ 获取系统时间的方法汇总
1.使用CTime类(获取系统当前时间,精确到秒) ? 1 2 3 4 5 6 CString str; //获取系统时间 CTime tm; tm=CTime::GetCurrentTime();/ ...
- C++11新特性,利用std::chrono精简传统获取系统时间的方法
一.传统的获取系统时间的方法 传统的C++获取时间的方法须要分平台来定义. 相信百度代码也不少. 我自己写了下,例如以下. const std::string getCurrentSystemTime ...
- c++ 如何获取系统时间
DoubleSnake 转载http://blog.csdn.net/zjnig711/article/details/2419081 c++ 如何获取系统时间 2008-04-28 15:34 ...
- 【VS开发】VC++ 获取系统时间、程序运行时间(精确到秒,毫秒)的五种方法
1.使用CTime类(获取系统当前时间,精确到秒) CString str; //获取系统时间 CTime tm; tm=CTime::GetCurrentTime();//获取系统日期 str=tm ...
- 笔记1:VC获取系统时间的方法
笔记1:VC 获取系统时间的方法 推荐的获取方法 获取时间方法种类 各种获取时间方法详解 方法1:time_t变量 和 time(time_t*)方法 方法2:system(" time&q ...
- Java 获取系统时间和网络时间(网址)
Java项目开发时间获取分为:系统时间 和 网络时间 . 一般Java开发中时间获取基本上使用系统当前时间,但是像'社交通信','购物平台'等就需要获取网络时间. import java.net.UR ...
- 获取系统时间GetSystemTime、GetLocalTime、GetTickTime
在说时间之前先说一个经常要用的时间结构体,Linux中与windows一样 SYSTEMTIME 结构体 typedef struct _SYSTEMTIME {WORD wYear;WORD wMo ...
最新文章
- HTTP协议基础解读
- 200米外遥测心跳定身份,五角大楼全新黑科技,人脸伪装也没用
- 【UOJ 51】最接近神的人
- 【litrpa专题】首个rpa程序,使用litrpa采集百度地图地铁数据
- matelab中simulink报错改正方法
- C# 学生简单管理系统 数据库 1.0版本
- pycharm检测不到python编译器_1.2 搭建python+pycharm编程开发环境
- 配置远程登陆交换机方法
- 航迹推演(Odometry)
- Servlet容器和IOC容器
- 阿里巴巴2021年java研发工程师暑期实习一面及二面面经
- Milvus 2.1 版本更新 - 简单可信赖、性能持续提升
- Linux 基础总结,这一篇就够了!
- 「不安分」的新加坡, 「不拼单」的AI 造城记
- 新媒体运营:如何策划出一场完整高效的活动方案?(一) | 黎想
- antd表格分页控件显示英文page
- Pandas读csv,xlsx,XLS文件,读代表名的文件
- Windows Vista正式版何时提供下载
- chrome不用翻墙也能用:
- QObject::connect: Cannot queue arguments of type ‘XXX‘