鈴鹿の住処

■UiPath Tips■

更新日:  作成日:

曜日を取得する

■はじめに

UiPath Studio で VB.Net のプロパティや関数を使って、曜日を取得する方法を紹介します。

DayOfWeek プロパティ、Weekday 関数で、日付から曜日を取得することができます。

WeekdayName 関数では、数字から曜日を取得することができます。

VB.Net のメソッドや関数は、代入や条件分岐のアクティビティなどの VB の式を入力する欄で使用することができます。

メソッド、関数の使い方画像

■プロパティと関数の引数と戻り値

・日付から曜日を取得する

基準日.DayOfWeek
基準日の曜日を返します。

引数「基準日」 ・・・取得する曜日の日付を指定します。
戻り値の型・・・DayOfWeek 列挙型

・日付から曜日を(数値で)取得する

Weekday(基準日, 最初の曜日)
基準日の曜日を数値で返します。
デフォルトでは戻り値は、 1 :日~ 7 :土となり、週の最初の曜日を指定できます。

引数「基準日」  ・・・取得する曜日の日付を指定します。
引数「最初の曜日」・・・週の最初の曜日を指定します。省略可
戻り値の型・・・数値型(Int32)

・数字から曜日を取得する

WeekdayName(数値, 省略有無, 最初の曜日)
数値から曜日を文字列で返します。
省略有無を指定すると、「Sunday」を「Sun」のように省略して返します。
デフォルトでは、 1 :日~ 7 :土となり、週の最初の曜日を指定できます。

引数「数値」   ・・・取得する曜日の日付を指定します。
引数「省略有無」 ・・・戻り値の曜日を省略するかを指定します。省略可
引数「最初の曜日」・・・週の最初の曜日を指定します。省略可
戻り値の型・・・文字型(String)

引数「最初の曜日」
数値 曜日
vbSunday 1 Sunday
Sun
vbMonday 2 Monday
Mon
vbTuesday 3 Tuesday
Tue
vbWednesday 4 Wednesday
Wed
vbThursday 5 Thursday
Thu
vbFriday 6 Friday
Fri
vbSaturday 7 Saturday
Sat

■解説

・日付から曜日を取得する

DayOfWeek プロパティは DayOfWeek 列挙型を返します。
戻り値に ToString メソッドを使用すると SundayMonday のように曜日を文字列で返します。
戻り値に GetHashCode メソッドを使用すると、日曜日は 0 、土曜日は 6 を返します。

・日付から曜日を(数値で)取得する

引数「基準日」が [02/02/2025 13:09:28] であれば、Weekday 関数は 1 を返します。
引数「最初の曜日」を指定すると、週の最初の曜日を変更することができます。既定では日曜日が週の最初の曜日となっています。
vbMonday を指定すると、週の最初の曜日を月曜日になり、 7 が返ってきます。
既定では日曜日は 1 、土曜日は 7 を返します。

・数字から曜日を取得する

引数「数値」を 1 で指定すると、WeekdayName 関数は Sunday を返します。
引数「省略有無」を True で指定すると、省略された形 Sun が返ってきます。
引数「最初の曜日」を vbMonday で指定すると、週の最初の曜日を月曜日になり、引数「数値」を 1 で指定すると Monday が返ってきます。

■使用例

DayOfWeek プロパティ、Weekday 関数、WeekdayName 関数の使用例を紹介します。

日付または数字から曜日を取得する
            
  変数 s の型は String
  変数 i の型は Int32
  VB.Netの実行日付は[02/02/2025 13:09:28]になります

  s = Now.DayOfWeek.ToString                Sunday
  i = Now.DayOfWeek.GetHashCode             0
  s = Now.AddDays(6).DayOfWeek.ToString     Saturday
  i = Now.AddDays(6).DayOfWeek.GetHashCode  6

  i = Weekday(Now)                       1
  i = Weekday(Now.AddDays(6))            7
  i = Weekday(Now, vbMonday)             7
  i = Weekday(Now.AddDays(6), vbMonday)  6

  s = WeekdayName(Weekday(Now))                      Sunday
  s = WeekdayName(Weekday(Now), True)                Sun
  s = WeekdayName(1, FirstDayOfWeekValue:=vbMonday)  Monday
  s = WeekdayName(7, FirstDayOfWeekValue:=vbMonday)  Sunday