# Value property

# Special value available in formulas:

## Item

The field this property is part of, enabling multiple checked items in the app designer to share the same formula and be updated all at once.

Consider the fields *Field1* and *Field2*, which should
only be considered to be valid if their values are
greater than 4. Without using the `Item`

value, the Valid
property of *Field1* would need to use the formula Field1 > 4Field1 > 4 and the Valid
property of *Field2* would need to use the formula Field2 > 4Field2 > 4.

Using `Item`

, both formulas can read Item > 4Item > 4. This is useful
if you have many fields and you want to be able to update their
formulas all at once. To do so, click their check boxes in Calcapp
Creator and make sure that a checked field is selected. Then, when you
update a formula for one checked field, you update all the other
checked fields too, which is a great timesaver.

Use `Item`

in exactly the same way you'd use the regular
name. Field1.VisibleField1,Visible and Item.VisibleItem,Visible are equivalent, for
instance.

The value of the field. If no formula is associated with this property, the
date and time field is an *input field* that users use to enter and
edit values. If a formula is associated with this property, the date and time
field is an *output field* that displays a calculated value derived
through the formula.

The value of a date and time field is a *sequential serial number*.
The integer part of the number represents the number of days that have
elapsed since December 31, 1899, and the fractional part represents the time
of day. The number 10.75 represents the 10th of January, 1900, at 6 PM
(18:00). (0.75 means that three quarters of a day have elapsed.)

## Specialized date and time functions

There are many specialized date and time functions that can process and return sequential serial numbers. Here are some of the most useful date and time functions:

- NOW returns the current date and time.
- TODAY returns the current date.
- DATE returns a specific date.
- TIME returns a specific time.
- YEAR, MONTH and DAY extract the year, month and day, respectively, from a sequential serial number.
- HOUR, MINUTE and SECOND extract the hour, minute and second, respectively, from a sequential serial number.
- WEEKDAY extracts the day of the week from a sequential serial number.
- NETWORKDAYS calculates the number of whole working days between two dates.

## Using regular functions and operators to process dates and times

As regular numbers, you can also use standard numeric functions and operators to process sequential serial numbers, as long as you keep in mind how dates and times are stored. Again, dates are stored as the integer part of the sequential serial number and times are stored as the fractional part. As such, September 30, 2021, at 6 AM is stored as 44469.25. (0.25 means that one quarter of a day has elapsed.)

We can use that information to combine the DATE and TIME functions to create a formula which returns the date and time above:

The two sequential serial numbers produced by the DATE and TIME functions are simply added together to combine the date and time into a single sequential serial number.

To calculate the number of days between two dates, subtract one sequential serial number from another and take the absolute value of the result (to prevent the result from being negative):

To remove the time portion from a sequential serial number, truncate the number:

To remove the date portion from a sequential serial number, use this formula:

## Referencing date and time field values from formulas

When referencing a date and time field value from a formula, there is no need to write .Value,Value after the field name if a number is sought. These formulas are equivalent:

Above, the HOUR
function is looking to extract the hour (0 through 23) from a sequential
serial number. As DateTimeField1DateTimeField1 can return a number
through its `Value`

property, .Value,Value is implied.

## Examples

Returns the hour (0 through 23) from the value of
*DateTimeField1*.

Returns the hour (0 through 23) from the value of
*DateTimeField1*. Writing out the *Value* property in
formulas (by writing DateTimeField1.ValueDateTimeField1,Value) is rarely
necessary.

Returns a sequential serial number representing the date of
*DateField1* (configured to only allow dates to be entered, no
times) and the time of *TimeField1* (configured to only allow
times to be entered, no dates).

Returns the day of the week from *DateTimeField1*. If the field
represents a Monday, 2 is returned.

Returns the number of days between the two date and time fields.

Returns a sequential serial number representing the date of
*DateTimeField1*, with its time portion removed.