Skip to main content

Notifications

Power Automate Fundamentals # 12: Usage of DayofWeek in Power Automate

Power Automate Fundamentals # 12: Usage of DayofWeek in Power Automate

Introduction:

In Power Automate, there is a common task to extract complete day of the week from the given date, for this DayofWeek function will be used. Here in this example, we will see how to extract name of the day in a week.

Step 1:

Login to the required Power Apps environment using URL make.powerapps.com by providing username and password and click on Flows on the left hand side as shown in the below figure.

Usage of DayofWeek in Power Automate Figure 1.jpg

Step 2:

After Step 1, Click on New Flow and select instant cloud flow and provide the trigger as Manually trigger a flow and click on Create as shown in the below figure.

Usage of DayofWeek in Power Automate Figure 2.jpg

Step 3:

After Step 2, name the flow as DayOfWeek and to hold the weekday’s names we must use Array with week names. So, click on + New Step and Choose Initialize operation and provide

Step Name: Initialize variable - Weeks Array

And

Name: Days of the Week

Type: Array

Value:

[

 "Monday",

 "Tuesday",

 "Wednesday",

 "Thursday",

 "Friday",

 "Saturday",

 "Sunday"

]

And click on save as shown in the below figure.

Usage of DayofWeek in Power Automate Figure 3.jpg

 

Step 4:

After Step 3, we have to get the current date and time now by using utcNow() function for this  click on + New Step and Choose Compose Operation from actions and provide the following

step name as Get UTC Date and Time now

and provide input as

 utcNow()

And click on save as shown in the below figure.

Usage of DayofWeek in Power Automate Figure 4.jpg

 

 

Step 5:

After Step 4, to get the day of the week we use dayOfWeek which expects timestamp as string   

dayOfWeek(timestamp:string)

Give Step name as Get the Day of the Week (Number)

And provide value from the Step 4 as argument to the function like below

dayOfWeek(outputs('Get_UTC_Date_and_Time_now'))

as shown in the below figure.

Usage of DayofWeek in Power Automate Figure 5.jpg

Step 6:

After Step 5, the output of Step 5 will provide only integer value, but we need week full name , so take another action and name it as Get the Day of the Week(Name)

And provide inputs as

variables('Days of the Week')[sub(outputs('Get_the_Day_of_the_Week_(Number)'),1)]

where variables ('Days of the Week') is taken from Step 3,

sub  is the function which is used to subtract a value with the given number, so here for sub function argument value is given which is output of Step 5,  as we considered array and its index starts from 0 , we have to decrease 1 number from the output of Step 5 and click on Ok/update and save flow as shown in the below figure.

Usage of DayofWeek in Power Automate Figure 6.jpg

Step 7:

After Step 6, save and run flow and observe output from Step 5 and Step 6

as shown in the below figure.

Usage of DayofWeek in Power Automate Figure 7.jpg

 

 

Note:

  1. Make sure to save and run the flow whenever you try expressions.
  2. MS documentation is found at here
  3. In Step 7, index of 3 in the array given in Step 3 is Thursday but actually current date where this article written was Wednesday, so that’s why another power automate function sub was used to remove 1 from total index, as array index starts from 0.
  4. This article focuses on adding days based on the current date, similarly dayOfYear,dayofMonth  also can be used.

Conclusion: In this way we can easily get name of the day in a week with current date in Power Automate flow.

Comments

*This post is locked for comments

  • baylorchoi Profile Picture baylorchoi
    Posted at
    Power Automate Fundamentals # 12: Usage of DayofWeek in Power Automate

    Thank you for this article. Just wanted to check if this issue can be resolved. it is calculating 0-1 = -1 and -1 is not in array. 

     

    baylorchoi_0-1651405832818.png

     

  • joelzehring Profile Picture joelzehring 208
    Posted at
    Power Automate Fundamentals # 12: Usage of DayofWeek in Power Automate

    Thanks for this suggestion! I had success using this expression:

     

    formatDateTime(outputs('Get_UTC_Date_and_Time_now')), 'dddd')

     

    This removes the need to instantiate an array.