Определите региональные рабочие дни и выходные дни недели - PullRequest
0 голосов
/ 23 июня 2010

В некоторых странах выходные дни - пятница / суббота.

Как приложение Windows может узнать выходные дни пользователя?

Ответы [ 3 ]

1 голос
/ 12 октября 2013

В следующем коде указывается, считается ли это выходным днем, с возможностью выбора для разных культур (где выходные / заканчиваются в другой день):

    /// <summary>
    /// Returns true if the specified date is weekend in given culture
    /// is in. 
    /// </summary>
    public static bool IsItWeekend(DateTime currentDay, CultureInfo cultureInfo)
    {
        bool isItWeekend = false;

        DayOfWeek firstDay = cultureInfo.DateTimeFormat.FirstDayOfWeek;

        DayOfWeek currentDayInProvidedDatetime = currentDay.DayOfWeek;

        DayOfWeek lastDayOfWeek = firstDay + 4;

        if (currentDayInProvidedDatetime == lastDayOfWeek + 1 || currentDayInProvidedDatetime == lastDayOfWeek + 2)
            isItWeekend = true;

        return isItWeekend;         
    }
1 голос
/ 23 июня 2010

Wellll ... Я не знаю ответа "Одна функция" на это. Тебе нужно будет знать, где они как-то. Если это веб-приложение, вы можете отслеживать их IP и выяснить, из какой они страны. Если это приложение для Windows, вам, вероятно, понадобится спросить их (часы предоставляют только информацию о часовом поясе, и я не могу понять, где еще можно получить более детальное местоположение из окон).

Вы можете выяснить, какой сегодня день, с помощью GetDayofWeek http://msdn.microsoft.com/en-us/library/1wzak8d0%28VS.80%29.aspx в MFC

DayofWeek, если вы переходите на .Net http://msdn.microsoft.com/en-us/library/system.dayofweek.aspx

Вам понадобится справочная таблица со странами / днями, которые они считают выходными. Вам, вероятно, придется составить это, но вы можете получить список стран: http://www.iso.org/iso/english_country_names_and_code_elements

Этот список является ISO 3166.

Он обновлен и должен стать вашим "универсальным магазином" для листинга. Оттуда вы будете сопоставлять «выходные» со странами. http://en.wikipedia.org/wiki/Workweek может помочь в определении выходных / рабочих недель для стран.

0 голосов
/ 07 июля 2010

Проект ICU может помочь. Он предназначен для интернализации программного обеспечения и глобализации. Доступны версии на C / C ++ и Java.

icu-project.org

...