C++ 取得系统当前时间

#include <time.h>

//* 方法一
 time_t tt = time(NULL);//这句返回的只是一个时间cuo
 tm* t= localtime(&tt);
 printf("%d-%02d-%02d %02d:%02d:%02d\n", 
  t->tm_year + 1900,
  t->tm_mon + 1,
  t->tm_mday,
  t->tm_hour,
  t->tm_min,
  t->tm_sec);

//* 方法二
 SYSTEMTIME st = {0};
 GetLocalTime(&st);
 printf("%d-%02d-%02d %02d:%02d:%02d\n", 
  st.wYear,
  st.wMonth,
  st.wDay,
  st.wHour,
  st.wMinute,
  st.wSecond);


下面几个,是网上找的:转载地址:http://apps.hi.baidu.com/share/detail/17815869

个人觉得第二种还是比较实用的,而且也是最常用的~

不过当计算算法耗时的时候,不要忘记second,不能只要用Milliseconds来减,不然后出现负值,若是算法耗时太长就得用minutes啦。再不然,就hours……

//方案— 优点:仅使用C标准库;缺点:只能精确到秒级
#include <time.h> 
#include <stdio.h> 
int main( void ) 

    time_t t = time(0); 
    char tmp[64]; 
    strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) ); 
    puts( tmp ); 
    return 0; 
}
size_t strftime(char *strDest, size_t maxsize, const char *format, const struct tm *timeptr);
根据格式字符串生成字符串。
struct tm *localtime(const time_t *timer);
取得当地时间,localtime获取的结果由结构tm返回
返回的字符串可以依下列的格式而定:
%a 星期几的缩写。Eg:Tue 
%A 星期几的全名。 Eg: Tuesday
%b 月份名称的缩写。 
%B 月份名称的全名。 
%c 本地端日期时间较佳表示字符串。 
%d 用数字表示本月的第几天 (范围为 00 至 31)。日期
%H 用 24 小时制数字表示小时数 (范围为 00 至 23)。 
%I 用 12 小时制数字表示小时数 (范围为 01 至 12)。 
%j 以数字表示当年度的第几天 (范围为 001 至 366)。 
%m 月份的数字 (范围由 1 至 12)。
%M 分钟。 
%p 以 ‘‘AM‘‘ 或 ‘‘PM‘‘ 表示本地端时间。 
%S 秒数。 
%U 数字表示为本年度的第几周,第一个星期由第一个周日开始。 
%W 数字表示为本年度的第几周,第一个星期由第一个周一开始。 
%w 用数字表示本周的第几天 ( 0 为周日)。 
%x 不含时间的日期表示法。 
%X 不含日期的时间表示法。 Eg: 15:26:30
%y 二位数字表示年份 (范围由 00 至 99)。 
%Y 完整的年份数字表示,即四位数。 Eg:2008
%Z(%z) 时区或名称缩写。Eg:中国标准时间 
%% % 字符。

//方案二 优点:能精确到毫秒级;缺点:使用了windows API 
#include <windows.h> 
#include <stdio.h> 
int main( void ) 

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;
}
//方案三,优点:利用系统函数,还能修改系统时间
//此文件必须是c++文件
#include<stdlib.h>
#include<iostream>
using namespace std;
void main()
{
    system("time");
}
//方案四,将当前时间折算为秒级,再通过相应的时间换算即可
//此文件必须是c++文件
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
time_t now_time;
now_time = time(NULL);
cout<<now_time;
return 0;
}

时间: 03-29

C++ 取得系统当前时间的相关文章

使用C语言获取当前系统的时间

要想使用C语言来获取当前系统的时间,办法如下: 需要提前准备的工作: 1 #include <stdio.h> 2 #include <time.h> 3 #include <stdlib.h> 4 5 int main() 6 { 7 time_t rawtime; //时间类型,由time.h中定义 8 struct tm *timeinfo; //关于时间的结构体类型,在time.h中定义 9 timeinfo = (struct tm*)malloc(sizeo

CentOS系统修改时间

新安装的CentOS7系统 本地时间显示的是其他时区的时间,我们需要调整到亚洲北京或上海时间,具体方式如下: //修正时间 #ln -sf /user/share/zoneinfo/Asia/Shanghai    /etc/localtime //设置时间 #date -s '2017-2-12 21:13:34' //讲时间写入CMOS #clock -w

mysql中取系统当前时间

<select id="getFreightEfclInventoryList" parameterType="long" resultMap="BaseResultMap1"> SELECT freight_efcl_inventory_id, freight_efcl_id, closing_date, sailing_date, shipping_space_total, shipping_space_remain, shipp

系统空闲时间判断&amp;命名验证

一.系统空闲时间判断 需要一个自动登录注销的功能,当鼠标移动和或者键盘输入的时候认为当前用户在线,否则过了设置时间就自动退出.好在前辈们留下了这样的一个类: MouseKeyBoardOperate: using System; using System.Runtime.InteropServices; namespace SCADA.RTDB.Framework.Helpers { /// <summary> /// Class MouseKeyBoardOperate /// </s

Linux查看系统开机时间

Linux查看系统开机时间 有时候需要查看Linux系统运行了多久时间,此时需要知道上次开机启动时间: 有时候由于断电或供电故障突然停机,需要查看Linux开机时间/重启时间:  下面总结一些查看Linux开机关机时间的方法(非常全面) 1: who 命令查看 who -b 查看最后一次系统启动的时间. who -r 查看当前系统运行时间 [[email protected] ~]# who -b system boot May 11 09:27 2: last  reboot 如下所示last

使用date类和format类对系统当前时间进行格式化显示

一:Date------------String 代码1:(代码二对显示出来的时间格式进行优化) package DateDemo; import java.text.SimpleDateFormat; import java.util.Date; // 需求:将现在系统的时间打印出来 // 需要的类:Date 类:生成当前系统时间 // SimpleDateFormat 类:对生成的系统时间进行格式化 // 构造方法摘要 SimpleDateFormat() public class Date

android 中 系统日期时间的获取

From:http://blog.csdn.net/feifei454498130/article/details/6540133 import java.text.SimpleDateFormat; SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss "); Date curDate = new Date(System.currentTimeMillis());//获取当前时间 String

python脚本——获取系统当前时间与前一天的时间

python脚本中很多时候需要自动获取系统的当前时间和前一日的时间,如果为了获得前一日的时间,只是单纯的取出当前的系统时间(字符串类型),转为整型之后减1,再转换为字符串类型,是不可行的,当月初的时间将会出现0天,比如12月1日会变成12月0日,合理的做法应当让其自动向前推一天. 如下: 1.python里获取当前时间有一个time属性import timeTIME_NOW = time.strftime('%Y%m%d') 或TIME_NOW = time.strftime("%Y%m%d&q

windows10和ubuntu16.04双系统下时间不对的问题

先在ubuntu下更新一下时间,确保时间无误: sudo apt-get install ntpdate sudo ntpdate time.windows.com 然后将时间更新到硬件上: sudo hwclock --localtime --systohc over

js获取PC机系统当前时间

new Date().toJSON().substring(0,19).replace(/-/gm,'').replace(/:/gm,'') 结果: "20150801T125030" Java获取当前时间传给前端: SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd-HH:mm:ss"); String date = dateFormat.format(new java.util.Date()