Contact

TIMEVALUE in Google Sheets: Parse Time Text and Preserve Fractional Seconds

Date Intermediate Google Sheets

Parse Google Sheets clock strings into day fractions, handle fractional seconds explicitly and distinguish overnight assumptions from timestamps with dates.

Verification status: See the evidence and test scope described in this guide. How formula examples are checked

Quick answer: TIMEVALUE(time_string) parses recognized 12-hour or 24-hour time text into a number from 0 inclusive to 1 exclusive. =TIMEVALUE("18:30") represents 0.7708333333 of a day. The function ignores date information in a recognized input string.

Availability and version history

  • Introduced: first introduction date is not established by the official history reviewed; no desktop release number is inferred.
  • Availability: documented in the rolling Google Sheets service; these examples use the web worksheet workflow.
  • Checked: October 14, 2026; official TIMEVALUE reference. Documentation and independent models, with no native Google Sheets execution or wider client certification.

Syntax and the text input

=TIMEVALUE(time_string)

Use quoted text or a reference holding the time string. Examples here use English AM/PM notation where present and a decimal point for fractional seconds. Check the intended spreadsheet locale before applying the same patterns to imported text.

The returned fraction can be shown with a time format. That changes presentation, not the value. A numeric quantity such as 18.5 means hours only if that unit was explicitly supplied; it is not interchangeable with the text "18:30".

Example 1: compare equivalent clock strings

=TIMEVALUE("18:30")
=TIMEVALUE("6:30 PM")
=TIMEVALUE("6:30 AM")

Expected fractions are 37/48, 37/48 and 13/48. The first two represent the same clock time; the third is twelve hours earlier in the day.

For a small column of strings "06:30", "13:15" and "23:45", expected fractions are 26/96, 53/96 and 95/96. Multiplying each by 24 gives 6.5, 13.25 and 23.75 hours since midnight, not elapsed time since an arbitrary earlier record.

Example 2: keep fractional-second information visible

Google’s reference explicitly includes fractional seconds in the time string. Compare:

=TIMEVALUE("11:59:59 PM")
=TIMEVALUE("11:59:59.50 PM")

Expected fractions are 86399/86400 and 86399.5/86400, approximately 0.9999884259 and 0.9999942130. Their difference is 0.5 seconds, obtained by multiplying the numeric difference by 86400.

A display rounded to whole seconds may hide this distinction. These are independently calculated parsing expectations, not a native precision benchmark or a rule for how SECOND rounds fractional timestamps.

Advanced example: a same-day work interval

=24*(TIMEVALUE("17:15")-TIMEVALUE("08:45"))

Expected elapsed hours: 8.5. Subtracting an explicitly unpaid 30-minute break gives 8 hours. The break policy is additional input; TIMEVALUE merely parses the two clock strings.

For a report, keep start, end and break values in separate columns. A single net total makes it harder to see whether a discrepancy came from parsing, an interval assumption or a break deduction.

Advanced example: an overnight interval with a stated limit

The raw subtraction of 06:00 minus 22:30 is -16.5 hours because both are represented within one day. If the policy explicitly says the end is on the following morning and the duration is less than 24 hours:

=24*MOD(TIMEVALUE("06:00")-TIMEVALUE("22:30"),1)

Expected result: 7.5 hours. MOD implements the stated wraparound rule. It does not discover the missing dates.

The same clock pair could describe 31.5 hours if another complete day elapsed. TIMEVALUE alone cannot distinguish those situations. Store full date-time values when intervals may span multiple days.

Advanced check: date information is discarded

For two recognized date-time strings representing October 14 at 06:30 and October 15 at 06:30, Google’s date-ignored rule gives the same 13/48 time fraction. The difference between the TIMEVALUE outputs is therefore 0, not one day.

This is an intentional loss of information. Do not apply TIMEVALUE to full timestamp text and then assume its result retains the original date. The exact date-string pattern still needs a locale check, so this example states the recognized-input condition rather than certifying every ISO or regional parser form.

Advanced example: rebuild a deliberately separate date and time

With a known numeric date in A2 from =DATE(2026,10,14) and recognized time text ="18:30" in B2:

=A2+TIMEVALUE(B2)

Expected displayed timestamp: October 14, 2026 at 18:30. The numeric value is 46309+37/48. This combines an explicit date with an explicit time; it does not infer a timezone or recover a date that a prior conversion discarded.

The reference does not establish every malformed-string error, numeric-input coercion or out-of-range clock convention. Those cases remain unverified. Do not assume a quoted time pattern accepted by one locale is portable to every shared spreadsheet.

Use TIME for numeric components, DATEVALUE for recognized date text, and NOW for a recalculated current timestamp. Each addresses a different input and lifecycle question.

References and verification

Examples use fictional inputs, English function names and comma argument separators. Expected outputs are independently modeled from the cited rules, not native Sheets captures. Check the spreadsheet locale when reproducing punctuation-sensitive formulas.