本文整理汇总了C++中TimeStamp::isValid方法的典型用法代码示例。如果您正苦于以下问题:C++ TimeStamp::isValid方法的具体用法?C++ TimeStamp::isValid怎么用?C++ TimeStamp::isValid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TimeStamp
的用法示例。
在下文中一共展示了TimeStamp::isValid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
bool TimeStamp::fromRFC2822( TimeStamp &target, const char *source )
{
const char *pos = source;
// Find the comma
while ( *pos != 0 && *pos != ',' ) pos++;
if ( *pos == 0 || (pos-source)!= 3 )
return false;
// is this a valid day?
if( getRFC2822_WeekDay( source ) < 0 )
return false;
pos++;
if ( *pos == 0 )
return false;
pos++;
const char *mon = pos;
while( *mon != 0 && *mon != ' ' ) mon++;
if ( *mon == 0 || (mon - pos) != 2)
return false;
target.m_day = atoi( pos );
mon++;
pos = mon;
while( *mon != 0 && *mon != ' ' ) mon++;
if ( *mon == 0 || (mon - pos) != 3)
return false;
target.m_month = getRFC2822_Month( pos );
mon++;
pos = mon;
while( *mon != 0 && *mon != ' ' ) mon++;
if ( *mon == 0 || (mon - pos) != 4)
return false;
target.m_year = atoi( pos );
mon++;
pos = mon;
while( *mon != 0 && *mon != ':' ) mon++;
if ( *mon == 0 || (mon - pos) != 2 )
return false;
target.m_hour = atoi( pos );
mon++;
pos = mon;
while( *mon != 0 && *mon != ':' ) mon++;
if ( *mon == 0 || (mon - pos) != 2 )
return false;
target.m_minute = atoi( pos );
mon++;
pos = mon;
while( *mon != 0 && *mon != ' ' ) mon++;
if ( *mon == 0 || (mon - pos) != 2 )
return false;
target.m_second = atoi( pos );
mon++;
target.m_timezone = getRFC2822_Zone( mon );
if( target.m_timezone == tz_NONE )
return false;
target.m_msec = 0;
return target.isValid();
}