Time differance "in mins" using current date and time stamp - google-sheets

How do I work out the duration from the current date and time to cell A1
A B Results
+-----------------+-------------------------------------------------------+--------------+
1 |20-01-07 07:27:27|=TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))-C2 | 5:31:57 |
+-----------------+-------------------------------------------------------+--------------+
2 |20-01-07 07:27:27|=TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))-C2*1440 | -56307326.9 |
+-----------------+-------------------------------------------------------+--------------+
I have tried this method above but it seems to not use the DATE.
Is there a way I can get it to include the date and also get it to display in minutes
https://docs.google.com/spreadsheets/d/15EqEkdzcPntTV1K0EfOW_BPcq7zFDNqOMNwEFdQuDIE/edit#gid=0

use:
=ARRAYFORMULA(IF(A2:A, TEXT(NOW()-A2:A, "[m]")*1, ))

=now() - A1 will give you the number of days between the date in A1 and now.
The decimal part of the number if a fraction of a day.
So if you need minutes, try the formula :
=(now()-A1)*(24*60)
The output will most likely have decimal places which is the number of seconds as fractional minutes.

Related

How to format a number as HH:MM in google sheets

I have Data set in google sheets that shows time spent log for a user in SECONDS.
For example,
Name (text) | Time Spent (number)
user A | 86400
How can format the time spent field as 24:00:00
Followed so many format related articles but all I am getting is 2073600:00:00 or similar weird numbers
You need to first divide by 86400, then set Format > Number > Duration. This is because the duration is evaluated in days (a value of 1 is formatted as 24 hours, 0 minutes, 0 seconds).
Example: if cell A1 contains the value of "3600" (seconds), you can display it as a duration in A2 by setting the value of A2 to "=A1/86400", then changing the format of A2 to Duration. A2 will display a duration of 1 hour in the default format.
See also How to format a duration as HH:mm in the new Google sheets for custom formatting of the duration.
try:
=INDEX(TEXT(A2:A5/86400, "[h]:mm:ss"))

Get the time value of an hour ago on Google sheets

I want to get an hour ago hour value of current time in google sheets.
For example
TEXT(NOW(),"DDHH")
returns current date+hour value (2500, if its 25th, midnight)
can I get 2423 instead using formula?
just putting -1 works for most of hours but fails at midnight (it returns 2499)
Try using
=TEXT(NOW()-1/24,"DDHH")
In date notation 1 is one day and one hour is 1/24 of a day.
It works for me:
(note that I use ; instead of comma as I have polish settings in my spreadsheet).
Adding -1 at the end of the formula will return 2499 because it will treat it like integer 2500 - 1. Adding -1 after NOW() will return 2400 because it will subtract 1 as 1 day. You can try this formula to subtract an hour.
=TEXT(NOW()-(1/24),"DDHH")

Google Sheets duration between 2 timestamps where the ending timestamp crosses into midnight

I have a sheet where I'm calculating the durations of time between two timestamps.
As an example, I have column A, which is the starting time, and column B, which is the stopping time. Both A and B are formatted as Time. Column C holds the duration between A and B, and is formatted as Duration.
The formula =SUM(B1 - A1) works fine for the most part, until I reach a situation in which B1 has crossed into midnight of the next day
For example if I have the following:
A | B | C
------------------------------
23:30 | 23:40 | 0:10:00
23:30 | 23:50 | 0:20:00
23:30 | 00:00 | -23:30:00
23:30 | 00:10 | -23:20:00
How do I circumvent this issue and have C3 & C4 properly calculate the value to be 0:30:00 and 0:40:00 respectively? My timestamps don't include date-related information, columns A and B only hold HH:MM:SS times. These durations will also never be longer than a maximum of 3 hours, so there's no need to worry about it correctly detecting overflow situations like Day 1 12:00:00 -> Day 2: 12:00:00 = 24:00:00
For mixed duration that crossed midnight of the next day (overlaps midnight)
try either of the following formulas.
=ArrayFormula(IF(A42:A="",,MOD(B42:B-A42:A, 1)))
OR
=ArrayFormula(IF(LEN(A42:A)<>0,
IF(B42:B55<A42:A,B42:B-A42:A+1,B42:B-A42:A),""))
Please adjust ranges to your needs
If you format the result column as Time, you don't need to change anything. If not, here is another option:
=B2-A2+(B2<A2)
Edit
An attempt with an array formulas:
First two results formatted as Time, last as Duration

How to SUM duration in Google Sheets?

Time started time end Duration
6:02:53 PM 6:11:07 PM 0:08:13
6:11:22 PM 6:20:33 PM 0:09:11
6:20:48 PM 6:32:21 PM 0:11:34
6:32:44 PM 6:39:04 PM 0:06:20
6:39:28 PM 7:00:41 PM 0:21:13
7:01:00 PM 7:09:16 PM 0:08:16
7:09:40 PM 7:16:03 PM 0:06:23
7:16:03 PM 7:24:21 PM 0:08:17
7:24:45 PM 7:30:57 PM 0:06:12
7:31:27 PM 7:37:21 PM 0:05:54
7:37:21 PM 7:44:06 PM 0:06:45
I want sum of all duration entries in x hours x minutes x seconds like i have more then 1000 rows of duration when i try to use =SUM(C2:C100) I am not getting sum of total duration after sum of 24:00:00 24 hours it starts from 00:00:00
for example sum of total duration gets 24:00:00 between range of c1:c8 it will start from 00:00:00 from c9: next range kindly assist me how to overcome this issue
try:
=ARRAYFORMULA(TEXT(SUM(IFERROR(TIMEVALUE(C:C))), "[h]:mm:ss"))
spreadsheet demo
Wherever you put the =SUM(), Select that cell and do Format>Number>More Formats>Custom Number formatting, and put the same formatting that Player0 put in his answer:
What worked for me to resolve a similar problem was a suggestion by user ttarchala in Google Sheets Query multi condition sum of time duration.
I used N() function as he said, and my final formula for the duration is:
=IF(To<>"", N(To-From+(To<From))*24, "")
with To and From being Named ranges for End Time and Start Time respectively.
N() function converts the time delta into a number. Multiplied by 24, this gives the hours in decimal format, such as 2 hours 30 minutes = 2.5 hours.
From there on, there is no problem with using the built-in Sum function to calculate the total duration as a decimal. Such as, the total duration of 27 hrs 10 minutes is shown as 27.16. This sufficed for my purposes.
Time delta is calculated using a formula from https://webapps.stackexchange.com/questions/104829/calculate-time-difference-between-times-past-midnight to take into account past-midnight differences.
And the first condition, To<>"", makes sure the formula is not showing in empty cells. As soon as the End Time is filled into "To" column, the decimal duration is calculated. Then it can be used in the regular Sum function.
This seemed shorter and easier than the formulas suggested above so I am sharing it in the hopes it may help someone else. Using thus formula, I just added up the Sum of time I spent looking for this solution: 3.34 hours :)
It's a formatting problem. You formatted your reply as HH:MM:SS, therefore the number displayed is not showing the date, which would have been incremented by one. If you multiply your sum by 24, and then format the result as a pure number, you will get a number that goes above 24, and will show you the number of hours, and its decimals. If you use those hours in further calculations, the result will be correct.
In cell C1, use the formula
=IF((B1-A1)>=0, B1-A1, 1+B1-A1)
Explanation: the problem is durations that exceed the 24 hour limit, as you say.
Google Sheets has become a bit deceptive here, as it will show the correct duration for the individual time interval, but if you SUM over it, it will actually deduct the value!
A B C
23:39 1:10 1:31
When you SUM then Google Sheets will see the value in cell C1 as if it was the beginning of the same day as the time in A1. So when you in C1 do =B1-A1 then it will register as a negative duration! But it won't show up as that!
In C1 use this formula, =IF((B1-A1)>=0, B1-A1, 1+B1-A1) for individual cells in column C, when you see that cells in column B has exceeded the 24-hour limit once. The duration in C1 should still show 1:31, but now the result when doing SUM over a range of cells in column C, like =SUM(C1:C2), will now show the correct and strictly additive sum. You can safely copy this formula to all cells in column C.
PS: cells in all of the columns can have Automatic or no formatting (which I think defaults to Automatic), if your time inputs look like the above. So you don't need to format all of those cells to Time or Duration. BUT remember to format the SUM cell to Format -> Number -> Duration.
PPS: if you are manually inputting the times (for for instance time tracking), then the easiest way to keep the much simpler =B1-A1 formula is to split the time up into two rows, like this:
A B C
23:39 0:00 0:21
0:00 1:10 1:10
Then the SUM of cells in column C still becomes 1:31.

Google sheets duration to seconds

I have a cell formatted as a duration (6:49:00)
I want to convert that to an Integer of total seconds
This formula gives me the right number of seconds =C3*60
409:00:00 <-- But I want this as just 409
To convert duration to an integer expressing the number of seconds, use a formula such as
=value(A1*24*3600)
Time values are recorded so that 1 is one day. Multiplying by 24 (hours/day) and 3600 (seconds/hour) converts that to seconds. Then value makes it a number rather than duration.
Old answer, about formatting only.
You don't need any formulas to format duration as the number of seconds.
Go to Format > Number > More formats > More data and time formats
Delete the pre-filled format fields and add "Elapsed seconds" from the dropdown menu.
I have found this solution:
let the cell A1 filled with duration like 1:22:33, than formula
=HOUR(A1)*3600+MINUTE(A1)*60+SECOND(A1)
will do the trick.
For example, 1:01:01 -> 3661
=HOUR(A1) will NOT work if your hours in the duration is > 24 of course. So the last example is not correct.
What will work is the following.
Given: A duration in hours and minutes. eg 225:04 or 9:20 or 62:35
Format must be set as this (Elapsed hours:minutes)
=INDEX(SPLIT(A1, ":"), 0, 1)*60 + INDEX(SPLIT(A1, ":"), 0, 2)

Resources