本文整理汇总了C++中DateTimeFieldsState::hour方法的典型用法代码示例。如果您正苦于以下问题:C++ DateTimeFieldsState::hour方法的具体用法?C++ DateTimeFieldsState::hour怎么用?C++ DateTimeFieldsState::hour使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DateTimeFieldsState
的用法示例。
在下文中一共展示了DateTimeFieldsState::hour方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setValueAsDateTimeFieldsState
void DateTimeHourFieldElementBase::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
{
if (!dateTimeFieldsState.hasHour()) {
setEmptyValue();
return;
}
const int hour12 = dateTimeFieldsState.hour();
if (hour12 < 1 || hour12 > 12) {
setEmptyValue();
return;
}
const int hour11 = hour12 == 12 ? 0 : hour12;
const int hour23 = dateTimeFieldsState.ampm() == DateTimeFieldsState::AMPMValuePM ? hour11 + 12 : hour11;
setValueAsInteger(hour23);
}
示例2: setValueAsDateTimeFieldsState
void DateTimeHourFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
{
if (!dateTimeFieldsState.hasHour()) {
setEmptyValue();
return;
}
const int hour12 = dateTimeFieldsState.hour();
if (hour12 < 1 || hour12 > 12) {
setEmptyValue();
return;
}
switch (maximum()) {
case 11:
DateTimeNumericFieldElement::setValueAsInteger(hour12 % 12);
return;
case 12:
DateTimeNumericFieldElement::setValueAsInteger(hour12);
return;
case 23:
if (dateTimeFieldsState.ampm() == DateTimeFieldsState::AMPMValuePM)
DateTimeNumericFieldElement::setValueAsInteger((hour12 + 12) % 24);
else
DateTimeNumericFieldElement::setValueAsInteger(hour12 % 12);
return;
case 24:
if (dateTimeFieldsState.ampm() == DateTimeFieldsState::AMPMValuePM)
DateTimeNumericFieldElement::setValueAsInteger(hour12 == 12 ? 12 : hour12 + 12);
else
DateTimeNumericFieldElement::setValueAsInteger(hour12);
return;
default:
ASSERT_NOT_REACHED();
}
}