<time.h>
+#include<stdlib.h> ?
有这么个函数time_t time(time_t *tod)
使你得到从1970.1.1.00:00:00开始至今的秒数变成整数。计算使用。
//函数名time。返回值是time_t
time_t now = time(NULL); 返回整数
cout << "=" << (int)now << endl; 需要强制转换
tm info = *localtime(&now); tm是个结构体把秒数地址传给localtime函数,该函数返回值是个指针,利用*解引用取值
//以下的单纯返回值!=生活中的时间,应加减参数
int year = info.tm_year + 1900;
int month = info.tm_mon + 1;
int day = info.tm_mday;
int hour = info.tm_hour;
int minute = info.tm_min;
int second = info.tm_sec;
求出从今天起300天以后的日期
time_t now=time(NULL);
now+=300243600;
tm info=*localtime(&now)
1获取当前时间(获取生食材
2 now可以加减,单位秒 (切 剁
3传给localtime函数操作取值后给结构体。 (给厨师好生调教后上餐盘。
反向!把成熟的时间变成秒 年月日时分秒are needed
time_t mktime(&tm)
ps使用mktime时候就算出了weekday
check out this
time_t convert(int year…)
{
tm info={0};
info tm_year=year-1900;
tm_mon=month-1;
tm_mday=day;
hour
min
sec
time_t t = mktime(&info);
return t; (菜鸟要注意范围值就是time_t)
}
小结
time_t秒值
GetTickCount64 函数
(原无64)
检索自系统启动以来已用过的毫秒数。
DWORD start= GetTickCount(); //获取毫秒级数目
使用clock()
clock_t start;
start = clock();
2、微秒级
- 先用**QueryPerformanceFrequency()获取时钟周期再调用QueryPerformanceCounter()**获取CPU从开机以来执行的时钟周期数
#include <stdio.h>
#include <math.h>
#include <windows.h>
using namespace std;
void main()
{
LARGE_INTEGER cpuFreq;
LARGE_INTEGER startTime;
LARGE_INTEGER endTime;
double rumTime=0.0;
QueryPerformanceFrequency(&cpuFreq);
QueryPerformanceCounter(&startTime);
Sleep(1000);
QueryPerformanceCounter(&endTime);
rumTime = (((endTime.QuadPart - startTime.QuadPart) * 1000.0f) / cpuFreq.QuadPart);
cout << rumtTime << " ms" << endl;
}
#include
★★★★★★
伪随机数(随机数种子,我的世界地图种子,理解?)
srand(time(NULL))
rand()
rand() % max
// max=32767
0~1:rand()/32767
限定随机数范围
{//产生 [0,b) 范围内到随机数
int randoxNumber = rand() % b ;
}
{//产生 [a,b) 范围内到随机数
int randoxNumber = a + rand() % ( b -a ) ;
}
{//产生 [a,b] 范围内到随机数
int randoxNumber = a + rand() % ( b -a +1 ) ;
}
{//产生 [0,1] 范围内到随机小数
double randoxNumber =rand() / RAND_MAX
}
{//产生 [0,1) 范围内到随机小数
double randoxNumber =rand() / ( RAND_MAX +1 )
}
pair
类型定义在#include
类模板:template<class T1,class T2> struct pair
pair<T1, T2> p1; //创建一个空的pair对象(使用默认构造),它的两个元素分别是T1和T2类型,采用值初始化。
pair<T1, T2> p1(v1, v2); //创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v1,second成员初始化为v2。
make_pair(v1, v2); // 以v1和v2的值创建一个新的pair对象,其元素类型分别是v1和v2的类型。
p1 < p2; // 两个pair对象间的小于运算,其定义遵循字典次序:如 p1.first < p2.first 或者 !(p2.first < p1.first) && (p1.second < p2.second) 则返回true。
p1 == p2; // 如果两个对象的first和second依次相等,则这两个对象相等;该运算使用元素的==操作符。
p1.first; // 返回对象p1中名为first的公有数据成员
p1.second; // 返回对象p1中名为second的公有数据成员
Comment
