亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? commoncal.cpp

?? 用C++基于SQL SERVER使用存儲過程
?? CPP
字號:
// CommonCal.cpp: implementation of the CommonCal class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "CommonCal.h"
#include "stdlib.h"
#include "stdio.h"
#include "math.h"

#ifdef _DEBUG
#undef THIS_FILE
//static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CommonCal::CommonCal()
{

}

CommonCal::~CommonCal()
{

}

//////////////////////////////////////////////////////////////////////
// 雨量數值處理,四舍六入,奇進偶舍算法
//////////////////////////////////////////////////////////////////////
bool CommonCal::RainValProc()
{
	int i=0;//取有效數字倒數第二位
	int j=0;//取有效數字最后一位
	int k=0;//取有效數字后一位
	int l=0;//取k后的部分
	int intValid=0;//取有效數字部分
	
	/*
	intValid=int(m_dblInputVal*pow(10,m_intKeepDot));
	i=int(m_dblInputVal*pow(10,(m_intKeepDot-1)))%10;
	j=intValid%10;
	k=int(m_dblInputVal*pow(10,(m_intKeepDot+1)))%10;
	l=int(m_dblInputVal*pow(10,m_intInputDot))%(int(pow(10,(m_intInputDot-m_intKeepDot-1))));
	if(k>5){
		intValid=intValid+1;
	}
	else{
		if(k==5){
			if(l>0){
				intValid=intValid+1;
			}
			else if((i%2)==1){
				intValid=intValid+1;
			}
		}
	}*/
	m_strOutputVal.Format("%.1f",m_dblInputVal);

	return true;

}

//////////////////////////////////////////////////////////////////////
// 水位數值處理
//////////////////////////////////////////////////////////////////////
bool CommonCal::WaterValProc()
{
	/*
	int i=0;
	int j=0;
	int intValid=0;
	
	i=int(pow(10,m_intKeepDot));
	j=int(pow(10,m_intKeepInt+m_intKeepDot));

	intValid=int(m_dblInputVal*pow(10,m_intKeepDot)+0.5);
	intValid=intValid%j;*/
	m_strOutputVal.Format("%.2f",m_dblInputVal);

	return true;

}


//////////////////////////////////////////////////////////////////////
// 時間處理
//////////////////////////////////////////////////////////////////////
bool CommonCal::TimeValProc()
{
	struct tm		tmTime;
	float			fltHour;
	float			fltMinute;
	float			fltSecond;
	int				intMday;
	
	tmTime=StrToTime(m_strInputTime);
	intMday=GetMonthEndDay(&tmTime);
	m_intMonth=tmTime.tm_mon;
	m_intDay=tmTime.tm_mday;
	m_intHour=tmTime.tm_hour;
	m_intMinute=tmTime.tm_min;
	fltHour=(float)tmTime.tm_hour;
	/*
	if(fltHour==0){
		fltHour=24;
		m_intDay--;
		if(m_intDay<=0)m_intDay+=intMday;
	}*/
	fltMinute=(float)tmTime.tm_min;
	fltSecond=(float)tmTime.tm_sec;
	m_fltTime=fltHour+(fltMinute+fltSecond/60)/60;
	if(m_fltTime<8)m_fltInterval=24-m_fltTime+8;
	else m_fltInterval=m_fltTime-8;

	m_strOutputTime.Format("%02d%02d%02d%02d",m_intMonth,m_intDay,m_intHour,m_intMinute);
	return true;
}

/*
//////////////////////////////////////////////////////////////////////
// 日期處理
//////////////////////////////////////////////////////////////////////
struct tm CommonCal::DateValProc(CString strInputTime)
{
	struct tm		tmTime;
	CString			strDate,strTime,strBuffer;
	CString			strYear,strMonth,strDay,strHour,strMinute,strSecond;
	int				intStart,intLength;

	intLength=strInputTime.GetLength();
	intStart=strInputTime.FindOneOf(" ");
	if(intStart==-1){
		strDate=strInputTime;
		strTime="00:00:00";
	}
	else{
		strDate=strInputTime.Left(intStart);
		strTime=strInputTime.Right(intLength-intStart-1);
	}
	strYear=strDate.Left(4);
	intLength=strDate.GetLength();
	strBuffer=strDate.Right(intLength-5);
	intStart=strBuffer.FindOneOf("-");
	strMonth=strBuffer.Left(intStart);
	intLength=strBuffer.GetLength();
	strDay=strBuffer.Right(intLength-intStart-1);

	intStart=strTime.FindOneOf(":");
	strHour=strTime.Left(intStart);
	strMinute=strTime.Mid(intStart+1,2);
	strSecond=strTime.Mid(intStart+4,2);

	tmTime.tm_year=atoi((LPCTSTR)strYear);
	tmTime.tm_mon=atoi((LPCTSTR)strMonth);
	tmTime.tm_mday=atoi((LPCTSTR)strDay);
	tmTime.tm_hour=atoi((LPCTSTR)strHour);
	tmTime.tm_min=atoi((LPCTSTR)strMinute);
	tmTime.tm_sec=atoi((LPCTSTR)strSecond);
	
	return tmTime;
}
*/

//////////////////////////////////////////////////////////////////////
// 字符串轉換成日期類型
//////////////////////////////////////////////////////////////////////
struct tm CommonCal::StrToTime(CString strInputTime)
{
	struct tm		tmTime;
	CString			strDate,strTime,strBuffer;
	CString			strYear,strMonth,strDay,strHour,strMinute,strSecond;
	int				intStart,intLength;

	intLength=strInputTime.GetLength();
	intStart=strInputTime.FindOneOf(" ");
	if(intStart==-1){
		strDate=strInputTime;
		strTime="00:00:00";
	}
	else{
		strDate=strInputTime.Left(intStart);
		strTime=strInputTime.Right(intLength-intStart-1);
	}
	strYear=strDate.Left(4);
	intLength=strDate.GetLength();
	strBuffer=strDate.Right(intLength-5);
	intStart=strBuffer.FindOneOf("-");
	strMonth=strBuffer.Left(intStart);
	intLength=strBuffer.GetLength();
	strDay=strBuffer.Right(intLength-intStart-1);

	intStart=strTime.FindOneOf(":");
	strHour=strTime.Left(intStart);
	strMinute=strTime.Mid(intStart+1,2);
	strSecond=strTime.Mid(intStart+4,2);

	tmTime.tm_year=atoi((LPCTSTR)strYear);
	tmTime.tm_mon=atoi((LPCTSTR)strMonth);
	tmTime.tm_mday=atoi((LPCTSTR)strDay);
	tmTime.tm_hour=atoi((LPCTSTR)strHour);
	tmTime.tm_min=atoi((LPCTSTR)strMinute);
	tmTime.tm_sec=atoi((LPCTSTR)strSecond);
	
	return tmTime;
}

//////////////////////////////////////////////////////////////////////
// 日期轉換字符串處理
//////////////////////////////////////////////////////////////////////
CString CommonCal::TimeToStr(struct tm tmTime)
{
	CString			strTime;
	strTime.Format("%04d-%02d-%02d %02d:%02d:%02d",tmTime.tm_year,tmTime.tm_mon,tmTime.tm_mday,tmTime.tm_hour,tmTime.tm_min,tmTime.tm_sec);
	return strTime;
}

//////////////////////////////////////////////////////////////////////
// 日期大小比較處理
//////////////////////////////////////////////////////////////////////
int CommonCal::TimeCompare(struct tm tmTime1,struct tm tmTime2)
{
	CString			strTime;
	
	if(tmTime1.tm_year>tmTime2.tm_year)return 1;
	if(tmTime1.tm_year<tmTime2.tm_year)return -1;

	if(tmTime1.tm_mon>tmTime2.tm_mon)return 1;
	if(tmTime1.tm_mon<tmTime2.tm_mon)return -1;

	if(tmTime1.tm_mday>tmTime2.tm_mday)return 1;
	if(tmTime1.tm_mday<tmTime2.tm_mday)return -1;

	if(tmTime1.tm_hour>tmTime2.tm_hour)return 1;
	if(tmTime1.tm_hour<tmTime2.tm_hour)return -1;

	if(tmTime1.tm_min>tmTime2.tm_min)return 1;
	if(tmTime1.tm_min<tmTime2.tm_min)return -1;

	if(tmTime1.tm_sec>tmTime2.tm_sec)return 1;
	if(tmTime1.tm_sec<tmTime2.tm_sec)return -1;

	return 0;
}

//////////////////////////////////////////////////////////////////////
// 計算加上一個時間間隔后的日期
//////////////////////////////////////////////////////////////////////
bool CommonCal::TimeAddSpan(struct tm *tmTime,int intYear,int intMonth,int intDay,int intHour,int intMinute,int intSecond)
{
	int				intMday=0;
	intMday=GetMonthEndDay(tmTime);

	tmTime->tm_sec+=intSecond;
	if(tmTime->tm_sec>=60){
		tmTime->tm_sec-=60;
		intMinute++;
	}

	tmTime->tm_min+=intMinute;
	if(tmTime->tm_min>=60){
		tmTime->tm_min-=60;
		intHour++;
	}

	tmTime->tm_hour+=intHour;
	if(tmTime->tm_hour>=24){
		tmTime->tm_hour-=24;
		intDay++;
	}

	tmTime->tm_mday+=intDay;
	if(tmTime->tm_mday>intMday){
		tmTime->tm_mday-=intMday;
		intMonth++;
	}

	tmTime->tm_mon+=intMonth;
	if(tmTime->tm_mon>12){
		tmTime->tm_mon-=12;
		intYear++;
	}

	tmTime->tm_year+=intYear;

	return true;
}

//////////////////////////////////////////////////////////////////////
// 計算減去一個時間間隔后的日期
//////////////////////////////////////////////////////////////////////
bool CommonCal::TimeSubSpan(struct tm *tmTime,int intYear,int intMonth,int intDay,int intHour,int intMinute,int intSecond)
{
	int				intMday=0;
	intMday=GetMonthEndDay(tmTime);

	tmTime->tm_sec-=intSecond;
	if(tmTime->tm_sec<0){
		tmTime->tm_sec+=60;
		intMinute++;
	}

	tmTime->tm_min-=intMinute;
	if(tmTime->tm_min<0){
		tmTime->tm_min+=60;
		intHour++;
	}

	tmTime->tm_hour-=intHour;
	if(tmTime->tm_hour<0){
		tmTime->tm_hour+=24;
		intDay++;
	}

	tmTime->tm_mday-=intDay;
	if(tmTime->tm_mday<1){
		tmTime->tm_mday+=intMday;
		intMonth++;
	}

	tmTime->tm_mon-=intMonth;
	if(tmTime->tm_mon<1){
		tmTime->tm_mon+=12;
		intYear++;
	}

	tmTime->tm_year-=intYear;

	return true;
}

//////////////////////////////////////////////////////////////////////
// 計算月底日期
//////////////////////////////////////////////////////////////////////
int CommonCal::GetMonthEndDay(struct tm *tmTime)
{
	int				intMday=0;
	switch(tmTime->tm_mon){
	case 1:{
		intMday=31;
		break;
			}
	case 3:{
		intMday=31;
		break;
			}
	case 5:{
		intMday=31;
		break;
			}
	case 7:{
		intMday=31;
		break;
			}
	case 8:{
		intMday=31;
		break;
			}
	case 10:{
		intMday=31;
		break;
			}
	case 12:{
		intMday=31;
		break;
			}
	case 2:{
		intMday=28;
		break;
		   }
	case 4:{
		intMday=30;
		break;
			}
	case 6:{
		intMday=30;
		break;
			}
	case 9:{
		intMday=30;
		break;
			}
	case 11:{
		intMday=30;
		break;
			}
	default:break;
	}
	if(IsLeapYear(tmTime)&&intMday==28)intMday=29;
	return intMday;
}

//////////////////////////////////////////////////////////////////////
// 判斷是否為閏年
//////////////////////////////////////////////////////////////////////
bool CommonCal::IsLeapYear(struct tm *tmTime)
{
	if((tmTime->tm_year%100==0&&tmTime->tm_year%400==0)||(tmTime->tm_year%100!=0&&tmTime->tm_year%4==0))return true;
	else return false;
}

//////////////////////////////////////////////////////////////////////
// 流量數值處理
//////////////////////////////////////////////////////////////////////
CString CommonCal::FlowValProc(double dblInputVal)
{
	int				intDigitCnt=0;
	//int			intIntCnt=0;
	int				intFlowVal=0;
	CString			strOutputVal;

	if(dblInputVal<=0){
		strOutputVal="0";
	}
	else{
		intDigitCnt=(int)log10(dblInputVal)+1;
		if(intDigitCnt<=0) intFlowVal=(int)dblInputVal*1000;
		else intFlowVal=(int)(dblInputVal/pow(10,intDigitCnt-3));
		strOutputVal.Format("%1d%3d1",intDigitCnt,intFlowVal);
	}
	if(dblInputVal==0){
		strOutputVal="0";
		return strOutputVal;
	}
	if(dblInputVal>=100){
		strOutputVal.Format("%.0f",dblInputVal);
		return strOutputVal;
	}
	if(dblInputVal>=10){
		strOutputVal.Format("%.1f",dblInputVal);
		return strOutputVal;
	}
	if(dblInputVal>=1){
		strOutputVal.Format("%.2f",dblInputVal);
		return strOutputVal;
	}
	if(dblInputVal>=0.1){
		strOutputVal.Format("%.2f",dblInputVal);
		return strOutputVal;
	}

	strOutputVal.Format("%.3f",dblInputVal);
	return strOutputVal;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
性欧美大战久久久久久久久| 久久99精品久久久久久动态图| 亚洲男同1069视频| 亚洲va欧美va人人爽| 国产91精品入口| 欧美日韩三级视频| 欧美激情一区不卡| 日韩精品一卡二卡三卡四卡无卡| 国产不卡视频一区二区三区| 欧美日韩视频在线观看一区二区三区 | 欧美性色黄大片手机版| 欧美日本韩国一区| 国产精品国产三级国产a| 日本sm残虐另类| 在线观看av不卡| 亚洲在线一区二区三区| 欧美日韩在线播| 国产精品视频第一区| 精品一二三四区| 欧美日韩一卡二卡| 一区二区三区中文字幕精品精品| 国产一区二区在线观看视频| 欧美一区二区三区在线视频| 99国产精品国产精品毛片| 色婷婷狠狠综合| 国产精品久久久久久久久久久免费看 | 亚洲精品乱码久久久久久日本蜜臀| 久久电影网站中文字幕| 欧美性猛交xxxx黑人交| 国产精品传媒入口麻豆| 国产麻豆视频一区二区| 精品人在线二区三区| 日韩不卡免费视频| 欧美高清你懂得| 亚洲mv大片欧洲mv大片精品| 欧美亚洲精品一区| 亚洲国产精品一区二区www在线| 色综合久久久久久久| 一区二区三区四区av| 91丨porny丨最新| 国产欧美1区2区3区| 国产999精品久久久久久| 久久久久久久久久久久久夜| 国产一区二区三区免费看| 精品久久久久久久久久久久包黑料| 久久精品国产一区二区三| 日韩欧美国产精品一区| 国产精品白丝jk黑袜喷水| 中文字幕av在线一区二区三区| 成人福利视频网站| 亚洲毛片av在线| 欧美精品 日韩| 毛片不卡一区二区| 亚洲国产岛国毛片在线| 91在线无精精品入口| 亚洲一区二区三区在线播放| 欧美丰满嫩嫩电影| 国产精品亚洲一区二区三区妖精| 国产日韩精品一区二区三区| 91在线观看地址| 五月天亚洲婷婷| 精品国产一二三| voyeur盗摄精品| 亚洲国产成人91porn| 日韩精品一区国产麻豆| 成人av网站在线| 爽好久久久欧美精品| 久久久电影一区二区三区| 色国产综合视频| 久久99久久精品欧美| 国产精品动漫网站| 日韩亚洲欧美成人一区| 成人爱爱电影网址| 午夜精品久久久久久久久久| 精品对白一区国产伦| 色婷婷综合久久久| 精品一区二区免费视频| 亚洲美女视频一区| 久久久亚洲综合| 欧美日韩一区三区| 国产成人免费视频精品含羞草妖精| 一区二区三区成人在线视频| 欧美大片顶级少妇| 91成人看片片| 国产成人一级电影| 日韩精品一二三区| 亚洲欧美aⅴ...| 久久精品亚洲麻豆av一区二区| 91成人在线精品| 成人app网站| 激情综合五月婷婷| 日日夜夜精品视频天天综合网| 国产精品女人毛片| 精品欧美一区二区在线观看| 欧美日韩在线直播| 色一区在线观看| 成人免费观看视频| 国产酒店精品激情| 毛片不卡一区二区| 免费观看成人av| 天堂av在线一区| 一级日本不卡的影视| 亚洲三级久久久| 国产精品污www在线观看| 26uuu亚洲综合色欧美| 日韩色视频在线观看| 欧美日韩亚洲国产综合| 在线观看亚洲a| 日本精品裸体写真集在线观看| 成人av影院在线| www.在线成人| 成人永久aaa| 成人禁用看黄a在线| 成人精品高清在线| 99热99精品| 91小视频免费观看| 色综合中文综合网| 麻豆成人91精品二区三区| 日韩不卡在线观看日韩不卡视频| 亚洲午夜国产一区99re久久| 亚洲精品成人在线| 亚洲免费观看视频| 亚洲一区二区三区激情| 亚洲第一av色| 日本免费在线视频不卡一不卡二| 婷婷久久综合九色综合伊人色| 日韩福利视频网| 美女视频网站黄色亚洲| 精油按摩中文字幕久久| 国产麻豆成人精品| 国产99久久久国产精品免费看| av一区二区久久| 欧美日韩在线一区二区| 欧美一二三区在线观看| 精品sm捆绑视频| 欧美韩日一区二区三区四区| 亚洲图片另类小说| 亚洲成人7777| 狠狠色狠狠色合久久伊人| 国产一区二区美女诱惑| 99视频精品在线| 欧美精品久久99久久在免费线| 精品国产1区2区3区| 国产精品久久免费看| 亚洲精品成a人| 免费成人av资源网| 国产超碰在线一区| 欧美亚洲国产怡红院影院| 欧美成人一区二区三区片免费 | 视频一区二区不卡| 国产大陆a不卡| 91国产免费观看| 久久尤物电影视频在线观看| 国产精品成人一区二区三区夜夜夜| 亚洲一区二区三区视频在线播放| 老司机免费视频一区二区| 国产.欧美.日韩| 欧美高清性hdvideosex| 国产精品久久99| 日韩二区在线观看| 91欧美一区二区| 精品国产一区久久| 一区二区三区不卡在线观看| 九九**精品视频免费播放| 在线亚洲高清视频| 久久久亚洲精品一区二区三区| 亚洲成在人线免费| 成人免费观看男女羞羞视频| 欧美一区二区三区公司| 尤物av一区二区| 国产成人av一区二区| 欧美精品在欧美一区二区少妇| 国产精品黄色在线观看| 精品综合免费视频观看| 欧美日韩日日骚| 亚洲日本在线看| 国产精品亚洲专一区二区三区 | 国产激情91久久精品导航| 精品婷婷伊人一区三区三| 国产精品日韩精品欧美在线| 蜜臀精品久久久久久蜜臀| 日本高清不卡aⅴ免费网站| 中文字幕国产精品一区二区| 热久久久久久久| 欧美图片一区二区三区| 一区精品在线播放| 国产成人午夜电影网| 欧美成人一区二区三区| 五月开心婷婷久久| 欧美日韩在线电影| 亚洲一区免费观看| 色综合中文字幕| 国产精品初高中害羞小美女文| 国产精品一区二区久久精品爱涩 | 国产拍欧美日韩视频二区 | 久草这里只有精品视频| 欧美亚洲国产一区在线观看网站 | 成人av一区二区三区| 久久九九全国免费| 国产大片一区二区|