Main Content

# weeknum

(Not recommended; use `week`) Week in year

`weeknum` is not recommended. Use the `week` function instead because it accepts `datetime` values as inputs. For more information on updating your code, see Version History or Replace Discouraged Instances of Serial Date Numbers and Date Strings.

## Syntax

``N = weeknum(D)``
``N = weeknum(___,W,E)``

## Description

example

````N = weeknum(D)` returns the week in year. The `weeknum` function considers the week containing January 1 to be the first week of the year.```

example

````N = weeknum(___,W,E)` returns the week in year using the optional input arguments for `W` and `E`. The `weeknum` function considers the week containing January 1 to be the first week of the year.```

## Examples

collapse all

Determine the week of the year using a serial date number.

`N = weeknum(728647)`
```N = 52 ```

Determine the week of the year using a string.

`N = weeknum("19-Dec-1994")`
```N = 52 ```

Determine the week of the year using a `datetime` array.

`N = weeknum(datetime("19-Dec-1994","Locale","en_US"))`
```N = 52 ```

The first week of the year must have at least four days in it. For example, January 8, 2004, was a Thursday. The European standard is used because the first week of the year is the first week longer than three days.

`weeknum("08-jan-2004",1,1)`
```ans = 1 ```

You can also use `weeknum` with `datenum`.

`weeknum(datenum("01-Jan-2004"):datenum("08-Jan-2004"))`
```ans = 1×8 1 1 1 2 2 2 2 2 ```

The default start day of the week is Sunday. Every day after, and including the first Sunday of the year (04-Jan-2004), returns `2` denoting the second week. In this case, the first of week of the year started before January 1, 2004. You can also use `weeknum` with `datenum` and specify a `D` value of `5` to indicate that the weeks start on Thursday.

`weeknum(datenum("01-Jan-2004"):datenum("08-Jan-2004"),5)`
```ans = 1×8 1 1 1 1 1 1 1 2 ```

The first week of the year that has four or more days, based on the specified start day, is considered week one (even if this is not the first week in the calendar). Any day falling in (or before) this week is given a week number of 1.

## Input Arguments

collapse all

Date to determine week in year, specified as a serial date number, date strings, or `datetime` array.

Serial date numbers can be a matrix. Date strings can be specified as a string vector or a one-dimensional cell array of character vectors. All the date strings must have the same format.

Data Types: `double` | `string` | `char` | `datetime`

Day a week begins, specified as an integer or a vector of integers from `1` through `7`.

• `1` — Sunday (default)

• `2` — Monday

• `3` — Tuesday

• `4` — Wednesday

• `5` — Thursday

• `6` — Friday

• `7` — Saturday

The `weeknum` function considers the week containing January 1 to be the first week of the year.

Data Types: `double`

Flag indicates if week of year display is European standard, specified as `1` (to use the European standard) or `0` (not to use the European standard).

The European standard considers first week of year to be first week longer than three days, offset by the given week’s start day.

Data Types: `logical`

## Output Arguments

collapse all

Week number of the year, given `D`, returned as a numeric value, given `D`, a serial date number, date string, or `datetime` array. If `D` is a string vector or a one-dimensional cell array of character vectors, then `weeknum` returns a column vector of M week numbers, where M is the number of elements in `D`.

If the optional input arguments `W` and `E` are defined, the week of the year is in the European standard.

## Version History

Introduced before R2006a

expand all

### R2022a: Not recommended

There are no plans to remove `weeknum`. However, the `week` function is recommended instead because it accepts `datetime` values as inputs. The `datetime` data type provides flexible date and time formats, storage out to nanosecond precision, and properties to account for time zones and daylight saving time.

To return the week in the year, call `week` with the `"weekofyear"` argument. If `dt` is a `datetime` value, then this `week` syntax returns the week of the year for `dt`.

```dt = datetime("today") weekNumber = week(dt,"weekofyear") ```