MFC里面有個CTime類,你可以拿來直接用

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比梁子湖網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式梁子湖網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋梁子湖地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
#include?time.h
#include?assert.h
#include?stdio.h
class?CTimeSpan
{
public:
CTimeSpan()?throw();
CTimeSpan(?__time64_t?time?)?throw();
CTimeSpan(?long?lDays,?int?nHours,?int?nMins,?int?nSecs?)?throw();
__int64?GetDays()?const?throw();
__int64?GetTotalHours()?const?throw();
long?GetHours()?const?throw();
__int64?GetTotalMinutes()?const?throw();
long?GetMinutes()?const?throw();
__int64?GetTotalSeconds()?const?throw();
long?GetSeconds()?const?throw();
__time64_t?GetTimeSpan()?const?throw();
CTimeSpan?operator+(?CTimeSpan?span?)?const?throw();
CTimeSpan?operator-(?CTimeSpan?span?)?const?throw();
CTimeSpan?operator+=(?CTimeSpan?span?)?throw();
CTimeSpan?operator-=(?CTimeSpan?span?)?throw();
bool?operator==(?CTimeSpan?span?)?const?throw();
bool?operator!=(?CTimeSpan?span?)?const?throw();
bool?operator(?CTimeSpan?span?)?const?throw();
bool?operator(?CTimeSpan?span?)?const?throw();
bool?operator=(?CTimeSpan?span?)?const?throw();
bool?operator=(?CTimeSpan?span?)?const?throw();
private:
__time64_t?m_timeSpan;
};
inline?CTimeSpan::CTimeSpan()?throw()?:?
m_timeSpan(0)
{
}
inline?CTimeSpan::CTimeSpan(?__time64_t?time?)?throw()?:?
m_timeSpan(?time?)
{
}
inline?CTimeSpan::CTimeSpan(long?lDays,?int?nHours,?int?nMins,?int?nSecs)?throw()
{
m_timeSpan?=?nSecs?+?60*?(nMins?+?60*?(nHours?+?__int64(24)?*?lDays));
}
inline?__int64?CTimeSpan::GetDays()?const?throw()
{
return(?m_timeSpan/(24*3600)?);
}
inline?__int64?CTimeSpan::GetTotalHours()?const?throw()
{
return(?m_timeSpan/3600?);
}
inline?long?CTimeSpan::GetHours()?const?throw()
{
return(?long(?GetTotalHours()-(GetDays()*24)?)?);
}
inline?__int64?CTimeSpan::GetTotalMinutes()?const?throw()
{
return(?m_timeSpan/60?);
}
inline?long?CTimeSpan::GetMinutes()?const?throw()
{
return(?long(?GetTotalMinutes()-(GetTotalHours()*60)?)?);
}
inline?__int64?CTimeSpan::GetTotalSeconds()?const?throw()
{
return(?m_timeSpan?);
}
inline?long?CTimeSpan::GetSeconds()?const?throw()
{
return(?long(?GetTotalSeconds()-(GetTotalMinutes()*60)?)?);
}
inline?__time64_t?CTimeSpan::GetTimeSpan()?const?throw()
{
return(?m_timeSpan?);
}
inline?CTimeSpan?CTimeSpan::operator+(?CTimeSpan?span?)?const?throw()
{
return(?CTimeSpan(?m_timeSpan+span.m_timeSpan?)?);
}
inline?CTimeSpan?CTimeSpan::operator-(?CTimeSpan?span?)?const?throw()
{
return(?CTimeSpan(?m_timeSpan-span.m_timeSpan?)?);
}
inline?CTimeSpan?CTimeSpan::operator+=(?CTimeSpan?span?)?throw()
{
m_timeSpan?+=?span.m_timeSpan;
return(?*this?);
}
inline?CTimeSpan?CTimeSpan::operator-=(?CTimeSpan?span?)?throw()
{
m_timeSpan?-=?span.m_timeSpan;
return(?*this?);
}
inline?bool?CTimeSpan::operator==(?CTimeSpan?span?)?const?throw()
{
return(?m_timeSpan?==?span.m_timeSpan?);
}
inline?bool?CTimeSpan::operator!=(?CTimeSpan?span?)?const?throw()
{
return(?m_timeSpan?!=?span.m_timeSpan?);
}
inline?bool?CTimeSpan::operator(?CTimeSpan?span?)?const?throw()
{
return(?m_timeSpan??span.m_timeSpan?);
}
inline?bool?CTimeSpan::operator(?CTimeSpan?span?)?const?throw()
{
return(?m_timeSpan??span.m_timeSpan?);
}
inline?bool?CTimeSpan::operator=(?CTimeSpan?span?)?const?throw()
{
return(?m_timeSpan?=?span.m_timeSpan?);
}
inline?bool?CTimeSpan::operator=(?CTimeSpan?span?)?const?throw()
{
return(?m_timeSpan?=?span.m_timeSpan?);
}
class?CTime
{
public:
static?CTime?__stdcall?GetCurrentTime()?throw();
CTime()?throw();
CTime(?__time64_t?time?)?throw();
CTime(?int?nYear,?int?nMonth,?int?nDay,?int?nHour,?int?nMin,?int?nSec,
int?nDST?=?-1?);
CTime(?unsigned?short?wDosDate,?unsigned?short?wDosTime,?int?nDST?=?-1?);
CTime?operator=(?__time64_t?time?)?throw();
CTime?operator+=(?CTimeSpan?span?)?throw();
CTime?operator-=(?CTimeSpan?span?)?throw();
CTimeSpan?operator-(?CTime?time?)?const?throw();
CTime?operator-(?CTimeSpan?span?)?const?throw();
CTime?operator+(?CTimeSpan?span?)?const?throw();
bool?operator==(?CTime?time?)?const?throw();
bool?operator!=(?CTime?time?)?const?throw();
bool?operator(?CTime?time?)?const?throw();
bool?operator(?CTime?time?)?const?throw();
bool?operator=(?CTime?time?)?const?throw();
bool?operator=(?CTime?time?)?const?throw();
struct?tm*?GetGmtTm(?struct?tm*?ptm?)?const;
struct?tm*?GetLocalTm(?struct?tm*?ptm?)?const;
__time64_t?GetTime()?const?throw();
int?GetYear()?const?throw();
int?GetMonth()?const?throw();
int?GetDay()?const?throw();
int?GetHour()?const?throw();
int?GetMinute()?const?throw();
int?GetSecond()?const?throw();
int?GetDayOfWeek()?const?throw();
private:
__time64_t?m_time;
};
inline?CTime?__stdcall?CTime::GetCurrentTime()?throw()
{
return(?CTime(?::_time64(?NULL?)?)?);
}
inline?CTime::CTime()?throw()?:?
m_time(0)
{
}
inline?CTime::CTime(?__time64_t?time?)?throw():?
m_time(?time?)
{
}
inline?CTime::CTime(int?nYear,?int?nMonth,?int?nDay,?int?nHour,?int?nMin,?int?nSec,
int?nDST)
{
#pragma?warning?(push)
#pragma?warning?(disable:?4127)?//?conditional?expression?constant
assert(?nYear?=?1900?);
assert(?nMonth?=?1??nMonth?=?12?);
assert(?nDay?=?1??nDay?=?31?);
assert(?nHour?=?0??nHour?=?23?);
assert(?nMin?=?0??nMin?=?59?);
assert(?nSec?=?0??nSec?=?59?);
#pragma?warning?(pop)
struct?tm?atm;
atm.tm_sec?=?nSec;
atm.tm_min?=?nMin;
atm.tm_hour?=?nHour;
atm.tm_mday?=?nDay;
atm.tm_mon?=?nMonth?-?1;?//?tm_mon?is?0?based
atm.tm_year?=?nYear?-?1900;?//?tm_year?is?1900?based
atm.tm_isdst?=?nDST;
m_time?=?_mktime64(atm);
assert(m_time?!=?-1);?//?indicates?an?illegal?input?time
}
inline?CTime::CTime(unsigned?short?wDosDate,?unsigned?short?wDosTime,?int?nDST)
{
struct?tm?atm;
atm.tm_sec?=?(wDosTime??~0xFFE0)??1;
atm.tm_min?=?(wDosTime??~0xF800)??5;
atm.tm_hour?=?wDosTime??11;
atm.tm_mday?=?wDosDate??~0xFFE0;
atm.tm_mon?=?((wDosDate??~0xFE00)??5)?-?1;
atm.tm_year?=?(wDosDate??9)?+?80;
atm.tm_isdst?=?nDST;
m_time?=?_mktime64(atm);
assert(m_time?!=?-1);?//?indicates?an?illegal?input?time
}
inline?CTime?CTime::operator=(?__time64_t?time?)?throw()
{
m_time?=?time;
return(?*this?);
}
inline?CTime?CTime::operator+=(?CTimeSpan?span?)?throw()
{
m_time?+=?span.GetTimeSpan();
return(?*this?);
}
inline?CTime?CTime::operator-=(?CTimeSpan?span?)?throw()
{
m_time?-=?span.GetTimeSpan();
return(?*this?);
}
inline?CTimeSpan?CTime::operator-(?CTime?time?)?const?throw()
{
return(?CTimeSpan(?m_time-time.m_time?)?);
}
inline?CTime?CTime::operator-(?CTimeSpan?span?)?const?throw()
{
return(?CTime(?m_time-span.GetTimeSpan()?)?);
}
inline?CTime?CTime::operator+(?CTimeSpan?span?)?const?throw()
{
return(?CTime(?m_time+span.GetTimeSpan()?)?);
}
inline?bool?CTime::operator==(?CTime?time?)?const?throw()
{
return(?m_time?==?time.m_time?);
}
inline?bool?CTime::operator!=(?CTime?time?)?const?throw()
{
return(?m_time?!=?time.m_time?);
}
inline?bool?CTime::operator(?CTime?time?)?const?throw()
{
return(?m_time??time.m_time?);
}
inline?bool?CTime::operator(?CTime?time?)?const?throw()
{
return(?m_time??time.m_time?);
}
inline?bool?CTime::operator=(?CTime?time?)?const?throw()
{
return(?m_time?=?time.m_time?);
}
inline?bool?CTime::operator=(?CTime?time?)?const?throw()
{
return(?m_time?=?time.m_time?);
}
inline?struct?tm*?CTime::GetGmtTm(struct?tm*?ptm)?const
{
//?Ensure?ptm?is?valid
assert(?ptm?!=?NULL?);
if?(ptm?!=?NULL)
{
struct?tm?ptmTemp;
errno_t?err?=?_gmtime64_s(ptmTemp,?m_time);
//?Be?sure?the?call?succeeded
if(err?!=?0)?{?return?NULL;?}
*ptm?=?ptmTemp;
return?ptm;
}
return?NULL;
}
inline?struct?tm*?CTime::GetLocalTm(struct?tm*?ptm)?const
{
//?Ensure?ptm?is?valid
assert(?ptm?!=?NULL?);
if?(ptm?!=?NULL)
{
struct?tm?ptmTemp;
errno_t?err?=?_localtime64_s(ptmTemp,?m_time);
if?(err?!=?0)
{
return?NULL;?//?indicates?that?m_time?was?not?initialized!
}
*ptm?=?ptmTemp;
return?ptm;
}
return?NULL;
}
inline?__time64_t?CTime::GetTime()?const?throw()
{
return(?m_time?);
}
inline?int?CTime::GetYear()?const
{?
struct?tm?ttm;
struct?tm?*?ptm;
ptm?=?GetLocalTm(ttm);
return?ptm???(ptm-tm_year)?+?1900?:?0?;?
}
inline?int?CTime::GetMonth()?const
{?
struct?tm?ttm;
struct?tm?*?ptm;
ptm?=?GetLocalTm(ttm);
return?ptm???ptm-tm_mon?+?1?:?0;
}
inline?int?CTime::GetDay()?const
{
struct?tm?ttm;
struct?tm?*?ptm;
ptm?=?GetLocalTm(ttm);
return?ptm???ptm-tm_mday?:?0?;?
}
inline?int?CTime::GetHour()?const
{
struct?tm?ttm;
struct?tm?*?ptm;
ptm?=?GetLocalTm(ttm);
return?ptm???ptm-tm_hour?:?-1?;?
}
inline?int?CTime::GetMinute()?const
{
struct?tm?ttm;
struct?tm?*?ptm;
ptm?=?GetLocalTm(ttm);
return?ptm???ptm-tm_min?:?-1?;?
}
inline?int?CTime::GetSecond()?const
{?
struct?tm?ttm;
struct?tm?*?ptm;
ptm?=?GetLocalTm(ttm);
return?ptm???ptm-tm_sec?:?-1?;
}
inline?int?CTime::GetDayOfWeek()?const
{?
struct?tm?ttm;
struct?tm?*?ptm;
ptm?=?GetLocalTm(ttm);
return?ptm???ptm-tm_wday?+?1?:?0?;
}
void?date()
{
CTime?together?=?CTime(2013,?6,?22,?12,?30,?30);
CTime?now?=?CTime::GetCurrentTime();
CTimeSpan?left=now-together;
printf("%ld天",left.GetDays());
printf("%02ld時",left.GetHours());
printf("%02ld分",left.GetMinutes());
printf("%02ld秒",left.GetSeconds());
}
void?main()
{
date();
}
包含api的.h文件,然后直接調用就可以了,比如winsock.h,可以調用recv等函數(shù),也可以在函數(shù)前面加::
答案補充
HWND hWnd = ::FindWindow(sClassName, sWindowName);//傳入類明到sClassName,窗口名sWindowName,否則傳入NULL
你可以這樣,把你的C++代碼做成COM組件,然后在asp就可以調用了. 在asp里實現(xiàn)的一些特殊功能一般都是通過COM來實現(xiàn)的
個人感覺:不可能。。你的想法也太夸張了,javascript 是用于網(wǎng)頁上的,我還聽說C可以。。。
我自己建了個java類名叫account在calculator.bean包中,通過import="calculator.bean.account"引入JSP頁面了,怎樣在JavaScript中調用account里的方法jisuan()?
用var a=new account然后a.jisuan()貌似不行啊?
靜待高手指教,越簡單越好!
本文標題:JavaScript調c,JavaScript 回調
標題鏈接:http://chinadenli.net/article0/dsihsio.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、軟件開發(fā)、移動網(wǎng)站建設、標簽優(yōu)化、商城網(wǎng)站、電子商務
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)