C++ C/C+中与地区相关的一年中的一周+;

C++ C/C+中与地区相关的一年中的一周+;,c++,c,C++,C,我正在努力争取一年中的第二周。为此,我使用了tm*\u CRTDECL localtime(const time\u t*\u time),但我没有得到预期的结果,这应该取决于语言环境。所以我在寻找解决方案和更多信息。我发现JAVACalendar.getInstance(Locale.GERMAN)中有API

我正在努力争取一年中的第二周。为此,我使用了
tm*\u CRTDECL localtime(const time\u t*\u time)
,但我没有得到预期的结果,这应该取决于语言环境。所以我在寻找解决方案和更多信息。我发现JAVA
Calendar.getInstance(Locale.GERMAN)中有API
我正在使用的代码

int MyClass::getCalendarWeek(time_t time, int * p_year) 
{    
    // Get tm structure of time parameter
    tm* pCurrentTm = localtime(&time);

    // determine Thursday in that week
    LONG offSet = 4 - pCurrentTm->tm_wday;
    if (offSet >= 4) {
        offSet = -3;        // Sunday
    }
    time += offSet * 86400L;
    pCurrentTm = localtime(&time);
    if (p_year) {
        *p_year = pCurrentTm->tm_year + 1900;// year of current calendar week
    }
    return (pCurrentTm->tm_yday + 7) / 7;   // current calendar week
}
输出:


7月11日是第28周,在大多数地区,星期一是一周的第一天,但星期天是第29周,星期天是一周的第一天

请显示实际结果和期望的结果。好的,我将添加它Boost.DateTime提供了这样的功能:我不完全确定,但也许它可以帮助您。在德国,这一数字为4。一月总是在第一周。从这一点你可以计算出其他几周的时间。好的,知道了。不,C++标准中没有通用/本地化日历支持。这可能会有所帮助。