Results 1 to 8 of 8

Thread: Week days

  1. #1

    Thread Starter
    Lively Member
    Join Date
    Mar 2003
    Posts
    126

    Week days

    I'm wanting to compare two dates for example 01/06/04 and 17/06/04 and count the number of week days between those two days (excludes Saturday and Sunday). What would be the best way of doing this?

  2. #2
    INXSIVE Bruce Fox's Avatar
    Join Date
    Sep 2001
    Location
    Melbourne, Australia
    Posts
    7,429
    Possible the DateDiff function.

    DateDiff Function


    Returns a Variant (Long) specifying the number of time intervals between two specified dates.

    Syntax

    DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

    The DateDiff function syntax has these named arguments:

    Part Description
    interval Required. String expression that is the interval of time you use to calculate the difference between date1 and date2.
    date1, date2 Required; Variant (Date). Two dates you want to use in the calculation.
    firstdayofweek Optional. A constant that specifies the first day of the week. If not specified, Sunday is assumed.
    firstweekofyear Optional. A constant that specifies the first week of the year. If not specified, the first week is assumed to be the week in which January 1 occurs.



    Settings

    The interval argument has these settings:

    Setting Description
    yyyy Year
    q Quarter
    m Month
    y Day of year
    d Day
    w Weekday
    ww Week
    h Hour
    n Minute
    s Second



    The firstdayofweek argument has these settings:

    Constant Value Description
    vbUseSystem 0 Use the NLS API setting.
    vbSunday 1 Sunday (default)
    vbMonday 2 Monday
    vbTuesday 3 Tuesday
    vbWednesday 4 Wednesday
    vbThursday 5 Thursday
    vbFriday 6 Friday
    vbSaturday 7 Saturday



    Constant Value Description
    vbUseSystem 0 Use the NLS API setting.
    vbFirstJan1 1 Start with week in which January 1 occurs (default).
    vbFirstFourDays 2 Start with the first week that has at least four days in the new year.
    vbFirstFullWeek 3 Start with first full week of the year.



    Remarks

    You can use the DateDiff function to determine how many specified time intervals exist between two dates. For example, you might use DateDiff to calculate the number of days between two dates, or the number of weeks between today and the end of the year.

    To calculate the number of days between date1 and date2, you can use either Day of year ("y") or Day ("d"). When interval is Weekday ("w"), DateDiff returns the number of weeks between the two dates. If date1 falls on a Monday, DateDiff counts the number of Mondays until date2. It counts date2 but not date1. If interval is Week ("ww"), however, the DateDiff function returns the number of calendar weeks between the two dates. It counts the number of Sundays between date1 and date2. DateDiff counts date2 if it falls on a Sunday; but it doesn't count date1, even if it does fall on a Sunday.

    If date1 refers to a later point in time than date2, the DateDiff function returns a negative number.

    The firstdayofweek argument affects calculations that use the "w" and "ww" interval symbols.

    If date1 or date2 is a date literal, the specified year becomes a permanent part of that date. However, if date1 or date2 is enclosed in double quotation marks (" "), and you omit the year, the current year is inserted in your code each time the date1 or date2 expression is evaluated. This makes it possible to write code that can be used in different years.

    When comparing December 31 to January 1 of the immediately succeeding year, DateDiff for Year ("yyyy") returns 1 even though only a day has elapsed.

    Note For date1 and date2, if the Calendar property setting is Gregorian, the supplied date must be Gregorian. If the calendar is Hijri, the supplied date must be Hijri.



    Bruce.

  3. #3

    Thread Starter
    Lively Member
    Join Date
    Mar 2003
    Posts
    126
    Thanks for your response Bruce.

    I can't figure out anything from your post though. How would you approach this?

  4. #4
    INXSIVE Bruce Fox's Avatar
    Join Date
    Sep 2001
    Location
    Melbourne, Australia
    Posts
    7,429
    Like:
    VB Code:
    1. MsgBox DateDiff("w", #12/2/04#, #23/2/04#)

    The "w" denotes weeks between the provided date range.



    However, note, the VB formating conflicts with the region settings you and I have over our part of the world (and check the FirstDayOfWeek too, ie Monday vice Sunday)

    Do a Search on DateDiff!





    Bruce.

  5. #5

    Thread Starter
    Lively Member
    Join Date
    Mar 2003
    Posts
    126
    Originally posted by Bruce Fox
    Like:
    VB Code:
    1. MsgBox DateDiff("w", #12/2/04#, #23/2/04#)

    The "w" denotes weeks between the provided date range.



    However, note, the VB formating conflicts with the region settings you and I have over our part of the world (and check the FirstDayOfWeek too, ie Monday vice Sunday)

    Do a Search on DateDiff!





    Bruce.
    That's what I thought I could use but remember I want days, not weeks. That doesn't return 1.3 weeks does it?

  6. #6
    INXSIVE Bruce Fox's Avatar
    Join Date
    Sep 2001
    Location
    Melbourne, Australia
    Posts
    7,429
    Originally posted by JamesNZ
    That's what I thought I could use but remember I want days, not weeks.
    And... weekdays was the example I provided!
    'w' returns WEEKDAYS, 'ww' returns weeks (have alook at the MSDN spiel in my first post)

    (As I mentioned, I had trouble with the passing of 'our' region dates, what you might be able to do is a search on the forum for similar issues with the date settings. I didn't put any more effort into it.)




    Bruce.

  7. #7
    PowerPoster
    Join Date
    Jul 2001
    Location
    Tucson, AZ
    Posts
    2,166
    See the Code Form as I posted one for getting a count excluding weekends and holidays (have to make your own list of holidays to exclude).

  8. #8

    Thread Starter
    Lively Member
    Join Date
    Mar 2003
    Posts
    126
    Originally posted by dw85745
    See the Code Form as I posted one for getting a count excluding weekends and holidays (have to make your own list of holidays to exclude).
    Could you point me towards the thread? I can't find it

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width