Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Date, Time,

...

Time Add and Subtract,

...

and

...

Time Conversion Blocks

These are the various date and time related blocks available in the Time group of the block library:

  • date:

    grabs

    extracts just the date

    part

    portion of a date time

    point value
  • time: grabs the time part of a date time point value
  • dayToNumber

    value

  • dateTimeAdd: adds a duration (hrs, mins, or secs) to a dateTime

  • dateTimeSub: subtracts a duration (hrs, mins, or secs) from a dateTime

  • dateToNumber: converts the date into a number

  • dayToString

    dateToString: converts a part of date into a string

  • dtToDtAdd: adds one dateTime to another dateTime; results in a duration of minutes or seconds

  • dtToDtSub: subtracts one dateTime from another dateTime; results in a duration of minutes or seconds

  • now: gets the current dateTime for the host

  • siteDateTime:

    get

    gets the current

    data

    date and time for the site associated with the target Ref of the bline program

These are the main blocks, but there are 2 other blocks that provide specific operations for the time:

  • dateTimeAdd: add a duration from a dateTime. (minutes are the assumed unit)
  • dateTimeSub: substract a duration from a dateTime (minutes are the assumed unit

    time: extracts just the time portion of a date time value

  • timeToMinutes: converts a time value to a number of minutes 

  • timeToTimeAdd: adds one time to another time; results in a duration of minutes

  • timeToTimeSub: subtracts one time from another time; results in a duration of minutes

Some blocks have inputs or results in dateTime format, while others in simple time format. Blocks that require a time format input might not work if a dateTime value is used as the input.

dateTime example:  2019-07-04  14:39:15:149   (date and time with milliseconds) 

time example: 14:39:15  (just hours:minutes:seconds)

The Blocks can be found in the B-Line app, after creating a new programBlock Library in the Time group.

Image Removed  Image RemovedImage Added

Date

...

and Time

...

Image Removed

All the date & time blocks accept only one parameter, but some have an extra option hidden inside them. The user can reach that by clicking on the block.

Image Removed  Image Removed

Using the Date/Time Block

After the user has created or opened a new or existing program, in the Runcycle, the date/time block can be used inside different other blocks like: SET, IF, RETURN....

...

Blocks

These four blocks provide or extract a value of time or dateTime, depending on your usage and need.

date: extracts just the date portion of a date time value
Image Added
time: extracts just the time portion of a date time value
Image Added

now: gets the current date and time from the host PC where the program is running
Image Added

siteDateTime: gets the current date and time for the site associated with the target Ref of the bline program. Once the SET block has been added, the user will just type siteDateTime and the block will appear as an option.

Image Removed (Click to enlarge)

 Once the block has been selected it will look like this:

Image Removed

Example Date/Time Setup

Image Removed

The above screenshot represents several examples of the date/time block usage. 

  • a tag will get the date and time value from the site associated with the target Ref of the program
  • another tag will get only the time value from a date & time tag(the one create at the first step)
  • then using the dateToString block the value only for the weekday and month are picked from the same time
  • finally using the dateToNumber block there are several numbers collected from the same tag for 

 

Click on the link below to watch a video demonstration on how the above example was set up!

Date, Time, Day blocks
Image Added

Time Add and Subtract Blocks

dateTimeAdd: adds a duration (days, hrs, mins, or secs) to a dateTime
Image Added

dateTimeSub: subtracts a duration (days, hrs, mins, or secs) from a dateTime
Image Added
dtToDtAdd: adds one dateTime to another dateTime; results in a duration of minutes or seconds. Note: This is not to be considered a traditional add function. Rather, the result is in fact an invert of a subtraction of the two inputs.  Meaning, if the difference is 30 minutes, then the result is written as -30 min. So it is actually subtracting the two inputs and then inverting the math sign of the result.
Image Added
dtToDtSub: subtracts one dateTime from another dateTime; results in a duration of minutes or seconds
Image Added
timeToTimeAdd: adds one time to another time; results in a duration of minutes or seconds. Note: This is not to be considered a traditional add function. Rather, the result is in fact an invert of a subtraction of the two inputs.  Meaning, if the difference is 30 minutes, then the result is written as -30 min. So it is actually subtracting the two inputs and then inverting the math sign of the result.
Image Added

timeToTimeSub: subracts one time from another time; results in a duration of minutes or seconds
Image Added

Time Conversion Blocks

dateToNumber: converts the date into a number. This block extracts a selected portion of the date and converts it to a number that represents that Year, Month, Day, etc.
As you can see in the example below, we show how to use the block to extract those three entities from the date. You could also get Hour, Minute, or Second if desired.
Image Added
dateToString: converts a part of date into a string. This block extracts a selected portion of the date and converts it to the actual Month or Day of the week.
In the example below, we show how to use the block to extract those two entities from the date.
Image Added

timeToMinutes: converts a time value to a number of minutes. In the example below, we have converted current time of 19:20 to 1160 minutes.  Also, you will see that we took minutes and divided it by 60 to get the current hour of the day. That result is 19.33 hours, or 7:20pm (.33 hours is approximately 20 minutes).
Image Added

Usage Examples

Parking Lot Lights

In the example below, we are using the time block to extract just current time from the now block. Then we are using time subtract blocks to determine if the current time is either 15 minutes before sunset (or less) or 15 minutes after sunrise (or less).  If either of these conditions are true, then we set the Parking Lot Lights to on. In our example below, current time is 20:17 and sunset time is 20:29. Because the difference is less than 15 minutes, the lights are set on.
Image Added

Another thing we could do with this application is to set the Sunrise, Sunset, and Current Time as Project variables (or global variables), so we wouldn't have to use the weather blocks in every program. We could also package up this lighting application as a Macro in order to use it elsewhere in this project, as well as export it for use in other projects.