📄 chk_date.cpp
字号:
/* Copyright is licensed under GNU LGPL. by I.J.Wang 2003 Build: make chk_date*/#include "wydate.h"#include "wy_uty.h"#include <stdexcept>#if WYDATE_VERSION!=31#error Test code is for WYDATE_VERSION 31#endifextern void ck_date(void);static const WyStr chdr( "+---------------+\n" "| main() caught:|\n" "+---------------+\n");int main(void) throw()try { Wy::cout << "Checking wydate.h ...\n"; Wy::cout << "sizeof(WyDate)= " << sizeof(WyDate) << '\n'; if(std::strcmp(WyDate::class_name,"WyDate")!=0) { WY_THROW( WyRet() ); } if(::strcmp(WyDate::TIMEZONE_UTC,"UTC")!=0) { WY_THROW( WyRet() ); } ck_date(); // Print time/date of several cities { WyRet r; WyTimeSpec tnow=Wy::now(); WyDate tt; WyStr str; // setup tt for local time zone try { if((r=tt.reset(Wy::local_tzname(),tnow))!=Ok) { WY_THROW( WyRet() ); } } catch(const WyDate::Reply& e) { WY_THROW( WyRet(e) ); }; Wy::cout << "It is now()=\n " << Wy::wrd(tt); if(tt.time_zone()=="UTC") { Wy::cout << " ...(Wy::local_tzname() may be failed)\n"; } else { Wy::cout << " ...(local time zone)\n"; } if((r=Wy::_strftime(str," %Y-%m-%d %H:%M'%S\"(%w) %Z ...(_strftime)\n\n",tt))!=Ok) { WY_THROW(r); } Wy::cout << str; if((r=tt.reset("UTC",tnow))!=Ok) { WY_THROW(r); } Wy::cout << " " << Wy::wrd(tt) << '\n'; if((r=tt.reset(":Africa/johannesburg",tnow))!=Ok) { WY_THROW(r); } Wy::cout << " " << Wy::wrd(tt) << '\n'; if((r=tt.reset(":Asia/Tokyo",tnow))!=Ok) { WY_THROW(r); } Wy::cout << " " << Wy::wrd(tt) << '\n'; if((r=tt.reset(":America/NewYork",tnow))!=Ok) { WY_THROW(r); } Wy::cout << " " << Wy::wrd(tt) << '\n'; if((r=tt.reset(":Europe/Paris",tnow))!=Ok) { WY_THROW(r); } Wy::cout << " " << Wy::wrd(tt) << '\n'; if((r=tt.reset(":Australia/Sydney",tnow))!=Ok) { WY_THROW(r); } Wy::cout << " " << Wy::wrd(tt) << '\n'; if((r=tt.reset(":Pacific/Honolulu",tnow))!=Ok) { WY_THROW(r); } Wy::cout << " " << Wy::wrd(tt) << '\n'; } Wy::cout << "Checked Ok\n"; return(0);}catch(const WyDate::Reply& e) { Wy::cerr << chdr << "WyDate::Reply" << Wy::wrd(e) << '\n'; return(-1);}catch(const WyTimeSpec::Reply& e) { Wy::cerr << chdr << "WyTimeSpec::Reply" << Wy::wrd(e) << '\n'; return(-1);}catch(const WyRet& e) { Wy::cerr << chdr << Wy::wrd(e) << '\n'; return(-1);}catch(...) { Wy::cerr << chdr << "unknown unwind" << '\n'; return(-1);};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -