Converting text into a date not working in google sheets - google-sheets

I have a piece of text I need to transform into a date:
"12/28/20 10:44 PM"
Any of the usual tricks are not working to get sheets to recognize this as a date.
I've made progress parsing out the date and time into separate cells but it still won't factor in the AM PM part.
Is there a quick way to convert to a date for this type of format?

try:
=REGEXREPLACE(A1; "(\d+)\/(\d+)\/(\d+)"; "$2/$1/20$3")*1
then:

Related

Google Sheet Split from 24:00 forcing to 24:00:00.000

I'm trying to work this out, can't find a solution.
The string, after REGEXEXTRACT is 20:00 24:00 25:00
I've been banging my head for hours, trying ways to convert, after the split, to get this result:
20:00
24:00
25:00
But it turns out that Google Sheets always forces:
20:00
24:00:00
25:00:00
Tried converting to text, using arrayformula, formatting cell as custom date, etc. Nothing has worked, so far.
Here a sheet example, already with the SPLIT result and the desired result.
https://docs.google.com/spreadsheets/d/12VISJZCSehTax8IJ88H4fmQ7Yoit6hENaI2WD_Sb2y8/edit?usp=sharing
Any clues?
Thanks! ;)
I edited D14:F14 to get the result you want. You just needed to set the format for the output range to durations not military time:
Format > Number > Custom number format > [h]:mm
you can force it:
=ARRAYFORMULA(TEXT(SPLIT(D10; " "); {"[h]:mm"\ "[h]:mm"\ "[h]:mm"}))

Convert written out date (DD.MMMM.YYYY at hh:mm apm) string into date value

Unfortunately, the Google-Sheets sync extension saves the timestamp as a string. (Example: February 6, 2022 at 11:40 pm). Is there any way of automatically converting this automatically to an actual date? I tried the usual date conversion formulas but they dont work. Maybe a work-around?
if a timestamp is in cell A2, try this:
=1*SUBSTITUTE(A2,"at","")
This just gets rid of the word "at" and then multiplying by 1 forces an attempt to convert it into a date value. Then you can just do a regular Format>Number>Date and Time on that cell and it should show how you'd want.
Suppose that your string-dates are in A2:A.
Place the following formula into the Row-2 cell of any other open column (e.g., B2):
=IF(A2:A="",,DATEVALUE(REGEXEXTRACT(A2:A,"^(.+),\s"))+REGEXEXTRACT(A2:A,"\d+:.+$"))

Date Conversion in Google Sheets

I am struggling to convert a bunch of dates in Google Sheets.
My dates are in the format mentioned in this image.
Some dates have AM/PM in them, while some have a / instead of a -.
I need to convert them to yyyy"-"mm"-"dd" "hh":"mm":"ss while converting the time to 24hour format in case of PM.
Does anyone know a way to achieve this?
The problem is that most of your data uses the American date convention m/d/yyyy while your spreadsheet uses the Indian d/m/yyyy date convention. But then again, some of the data appears to already be in the ISO8601 format you are requesting as the result format. To convert all the dates, use this:
=arrayformula(
if(
isnumber(A2:A) + isblank(A2:A),
A2:A,
regexreplace(A2:A, "^(\d+)/(\d+)/(\d+)(.+)", "$3-$1-$2$4") + 0
)
)
Format the result cells as Format > Number > Date time or as the custom format you mentioned. See the new Solution column in your sample spreadsheet.
Suppose your raw data is in A2:A. Clear B2:B and place the following into B2:
=ArrayFormula(IF(A2:A="",,IFERROR(DATEVALUE(A2:A&"")+TIMEVALUE(A2:A&""),DATEVALUE(A2:A)+TIMEVALUE(A2:A))))
This formula has error control built in, to handle the raw data if there is a mix of strings and real date-times.
Next, select the entire Column B. Apply Format > Number > More Formats > Custom number format and enter the following in the text field at the top: yyyy-mm-dd hh:mm:ss

How do I pull the month from text strings in this Twilio format 2019-08-22 06:12:58 MDT?

I am using the Twilio log file to crunch some data and need to convert the Twilio format for dates into something that Google Sheets can recognize as a date so I can then extract what month the date is referring to. I think that first, the text string has to be converted to be a better format and then I can use one of Google Sheets functions to extra the month. Currently, this is the format in the log file:
"2019-08-22 06:12:58 MDT"
I used GoogleSheets TIMEVALUE and TEXT functions.
=TIMEVALUE(I2)
and
=text(I2,”mmmm”)
I get "Formula Parse Error"
The timezone stamp is messing up the Google formulas for you.
So you may want to try getting rid of that with something like this:
=text(index(split(I2," "),,1),"mmmm")
The split function breaks up the logged time stamp into 2019-08-22 | 06:12:58 | MDT across three columns.
And the index function then gets the just the first column - the date bit from there.
And then the text function gets the month name out of the date.
you can use:
=TEXT(LEFT(A1, 10), "mmmm")
and in array it would be:
=ARRAYFORMULA(TEXT(LEFT(A1:A, 10), "mmmm"))

How to format multiple Date type columns in dd/mm/yyyy using Google Sheets Api in Ruby?

I have multiple date type columns like "User Joining Date", "Birthdate", "Arrival Date" etc. These dates are already in dd/mm/yyyy format.
But the issue is gsheet interprets date like 02/01/2019 as 1st February 2019 but interprets 13/01/2019 as 13th January 2019 which causes formatting issue.
02/01/2019 is left aligned whereas 13/01/2019 is right aligned. Moreover, this also causes sorting issues.
I've tried changing the locale and language of the spreadsheet but nothing helped.
You can always deliver the date in the way Google Sheets expects, in your case mm/dd/yyyy.
You can transform a Time, Date or DateTime instances into any format you want by using #strftime. This outputs a string in the provided format. Have a look at http://www.strftime.net/ for the different options and a live demo.
Alternatively you can use the localize functionality of Ruby on Rails. This can be done by calling:
I18n.l your_time_variable, format: :default

Resources