代码之家  ›  专栏  ›  技术社区  ›  Constantin

确定一周中的区域工作日和周末

  •  0
  • Constantin  · 技术社区  · 15 年前

    在一些国家,周末是星期五/星期六。

    Windows应用程序如何找出用户的周末?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Caladain    15 年前

    嗯……我不知道有什么“单一功能”的答案。你得知道他们在哪。如果是网络应用,你可以追踪他们的IP地址,找出他们来自哪个国家。如果是windows应用程序,你可能需要问他们(时钟只提供时区信息,我想不出还有什么地方可以从windows获取更细粒度的位置)。

    你可以用GetDayofWeek计算出今天是哪一天 http://msdn.microsoft.com/en-us/library/1wzak8d0%28VS.80%29.aspx 在MFC中

    如果你跳到.Net的话 http://msdn.microsoft.com/en-us/library/system.dayofweek.aspx

    http://www.iso.org/iso/english_country_names_and_code_elements

    这个清单是iso3166。

    http://en.wikipedia.org/wiki/Workweek 可能有助于确定国家的周末/工作周。

        2
  •  1
  •   Qantas 94 Heavy user3381402    12 年前

    以下代码将提供是否将其视为周末,以及不同文化的选项(周末在不同的日期开始/结束):

        /// <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;         
        }
    
        3
  •  0
  •   lcmtwn    15 年前

    ICU项目可能会有所帮助。它是为软件内部化和全球化而设计的。可提供C/C++和java版本。

    icu-project.org