本文整理汇总了C++中wxDateTime::GetWeekOfMonth方法的典型用法代码示例。如果您正苦于以下问题:C++ wxDateTime::GetWeekOfMonth方法的具体用法?C++ wxDateTime::GetWeekOfMonth怎么用?C++ wxDateTime::GetWeekOfMonth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxDateTime
的用法示例。
在下文中一共展示了wxDateTime::GetWeekOfMonth方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetSpanLabel
wxString CompDateAxis::GetSpanLabel(wxDateTime date, wxDateSpan span)
{
int days = span.GetDays();
int weeks = span.GetWeeks();
int months = span.GetMonths();
int years = span.GetYears();
if (days != 0 && weeks == 0 && months == 0 && years == 0) {
// days span
int startDay = date.GetDay();
int endDay = startDay + days;
wxDateTime::wxDateTime_t maxDay = wxDateTime::GetNumberOfDays(date.GetMonth(), date.GetYear());
if (endDay > maxDay) {
endDay -= maxDay;
}
return FormatInterval(startDay, endDay);
}
else if (days == 0 && weeks != 0 && months == 0 && years == 0) {
// weeks span
int startWeek = date.GetWeekOfMonth();
int endWeek = startWeek + weeks;
return FormatInterval(startWeek, endWeek);
}
else if (days == 0 && weeks == 0 && months != 0 && years == 0) {
// monthes span
int startMonth = MonthNum(date.GetMonth());
int endMonth = startMonth + months;
if (endMonth > 12) {
endMonth = endMonth % 12;
}
if (months == 1) {
return wxDateTime::GetMonthName(MonthFromNum(startMonth));
}
else {
return wxString::Format(wxT("%s-%s"),
wxDateTime::GetMonthName(MonthFromNum(startMonth)).c_str(),
wxDateTime::GetMonthName(MonthFromNum(endMonth)).c_str());
}
}
else if (days == 0 && weeks == 0 && months == 0 && years != 0) {
// years span
int startYear = date.GetYear();
int endYear = startYear + years;
return FormatInterval(startYear, endYear);
}
else {
// we have unaligned span, so print start-end dates
wxDateTime endDate = date;
endDate += span;
return wxString::Format(wxT("%s-%s"),
date.Format(wxT("%d-%m-%y")).c_str(),
endDate.Format(wxT("%d-%m-%y")).c_str());
}
}