Forum Discussion

KevinJan's avatar
KevinJan
Regular Visitor
4 years ago
Solved

Determine Shift based on TimeStamp

Hi All,

 

I need help to determine the shift based on the time stamp of my data set. 

Day Shift = 6:00:00 AM to 6:00:00 PM

Night Shift = 6:00:00 PM to 6:00:00 AM (the next day)

 

Any help is much appreciated.

Thanks

  • Hi KevinJan ,

    maybe this will help.

    if DateTime.Time([time]) > Time.From("6:00:00") and DateTime.Time([time]) < Time.From("18:00:00") then "Day Shift" else "Night Shift"

     

4 Replies

  • mwegener's avatar
    mwegener
    Most Valuable Professional

    Hi KevinJan ,

    maybe this will help.

    if DateTime.Time([time]) > Time.From("6:00:00") and DateTime.Time([time]) < Time.From("18:00:00") then "Day Shift" else "Night Shift"

     

    • villasenorbritt's avatar
      villasenorbritt
      Resolver I

      Maybe I am mistaken, but while looking for a similar solution, I believe this is not enough. I have successfully defined the night and day shift by time, but what happens when the last part of the night shift is accounted for in the wrong day? For example, the night shift has 6 hours that happens in the following morning, but needs to be counted as the same shift as the night in which is began. Does this formula account for that?

      • mwegener's avatar
        mwegener
        Most Valuable Professional

        Hi villasenorbritt ,
        for this requirement you should calculate another column that will tell you the date the value is counted.

         

        if DateTime.Time([time]) <= Time.From("6:00:00") then DateTime.Date([time]) - #duration(1,0,0,0) else DateTime.Date([time])

         

  • column=
    VAR _A =
    TIME ( 6,00,00 )
    VAR _B =
    TIME ( 18,00,00 )

    RETURN
    IF (
    [Time Coulmn] >= _A
    && [Time Coulmn] <= _B,
    "Day Shift","Night Shift" )