2010-06-23 12 views

Répondre

1

Wellll ... Je ne connais pas de réponse "Une fonction" à cela. Vous allez devoir savoir où ils sont en quelque sorte. Si c'est une webapp, vous pouvez tracer leur adresse IP et comprendre de quel pays ils proviennent. Si c'est une application Windows, vous aurez probablement besoin de leur demander (L'horloge ne fournit que des informations sur le fuseau horaire, et je ne peux pas savoir où d'autre pour obtenir un emplacement plus précis à partir de Windows).

Vous pouvez comprendre quel jour il est avec GetDayofWeek http://msdn.microsoft.com/en-us/library/1wzak8d0%28VS.80%29.aspx dans MFC

DAYOFWEEK si vous sautez vers .Net http://msdn.microsoft.com/en-us/library/system.dayofweek.aspx

Vous aurez besoin d'une table de consultation avec les pays/quels jours ils considèrent le week-end .. vous aurez probablement à construire, mais vous pouvez obtenir une liste des pays: http://www.iso.org/iso/english_country_names_and_code_elements

cette liste est certifiée ISO 3166.

Il est mis à jour et devrait être yo ur "one-stop-shop" pour la liste. De là, vous allez faire correspondre les "week-ends" aux pays. http://en.wikipedia.org/wiki/Workweek pourrait aider à déterminer week-ends/semaines de travail pour les pays.

+0

citations de Nice de profil, btw. – Constantin

+0

Merci! Est-ce que cela a résolu votre problème/expliqué les choses un peu? – Caladain

+0

ouais, c'était utile. Je donne juste une chance aux autres avant de l'accepter. – Constantin

0

Le projet ICU pourrait aider. Il est conçu pour l'internalisation de logiciels et la globalisation. La version C/C++ et Java est disponible.

icu-project.org

1

Le code suivant fournira ou non il est considéré comme le week-end, avec une option pour différentes cultures (où commence/se termine le week-end un autre jour):

/// <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;   
    } 
+0

Alors ça va vraiment marcher si .FirstDayOfWeek == Friday? A première vue, il semble que "% 7" soit manquant. – Constantin