📄 time.cpp
字号:
//time.cpp
//时间计算
#include "StdAfx.h"
#include "typedef.h"
#include <stdio.h>
#include <time.h>
#include <string.h>
// 名称:times
// 作用:计算时间长度
// 参数:两个含有六个(int)元素的时刻数组(年,月,日,时,分,秒)
// 返回值:时间长度的数组指针(int *)
void times_segment(int ptime[],int ltime[],int re_time[])
{
unsigned long min_ptime = ptime[4] + ptime[3] * 60 + ptime[2] * 24 + ptime[1] * 30;
unsigned long min_ltime = ltime[4] + ltime[3] * 60 + ltime[2] * 24 + ltime[1] * 30;
unsigned long min_re_time = min_ltime - min_ptime;
printf("%l",min_re_time);
re_time[4] = min_re_time % 60; /*分钟*/
re_time[3] = (min_re_time - re_time[4])/60 % 24; /*小时*/
re_time[2] = (min_re_time - re_time[3]*60 - re_time[4])/24 % 30; /*日*/
re_time[1] = (min_re_time - re_time[2]*24 - re_time[3]*60 - re_time[4])/30 % 365;
}
// 名称:now_time
// 作用:获取当前系统时间
// 参数:空
// 返回值:含有六个(int)元素数组的指针
int * now_time(void)
{
int system_time[6];
int *p_stime = system_time;
time_t nowtime;
struct tm *timeinfo;
time(&nowtime);
timeinfo = localtime(&nowtime);
system_time[0] = timeinfo->tm_year+1900; //年
system_time[1] = timeinfo->tm_mon+1; //月
system_time[2] = timeinfo->tm_mday; //日
system_time[3] = timeinfo->tm_hour; //时
system_time[4] = timeinfo->tm_min; //分
system_time[5] = timeinfo->tm_sec+1; //秒
return p_stime;
}
// 名称:car_pay
// 作用:计算停车费用
// 参数:停车时间,离开时间,每小时价格
// 返回值:停车费用(结果四舍五入,保留一位小数)
void car_pay(int list_i)
{
unsigned long time_min = (carlist->buffer[list_i].time[2] * 24 + carlist->buffer[list_i].time[3]) * 60 + carlist->buffer[list_i].time[4]; //把时间换算成分钟
float min_pay = (float)(carlist->buffer[list_i].price/60.0);
carlist->buffer[list_i].pay = time_min * min_pay;
int pay_int = (int)(carlist->buffer[list_i].pay * 100); //结果四舍五入,保留一位小数
pay_int = (pay_int + 5)/10;
carlist->buffer[list_i].pay = (float)pay_int/10;
//********************************************************* Debug
#ifdef DEBUG
printf("\n\nDebug\n");
printf("The temp time.\n");
for (int ii=0; ii<6; ii++)
{
printf("time[%d] = %d\n",ii,carlist->buffer[list_i].time[ii]);
}
printf("\n\ntime_min = %ld",time_min);
printf("\ntime_min * min_pay = %d",(time_min * min_pay));
printf("\npay = %f",carlist->buffer[list_i].pay);
printf("\n\n");
getch();
#endif
//**********************************************************
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -