How to turn string Date/Time into something usable

The LOAD CVS parsing capabilities provide a basic, but usually sufficient set of tools for your purpose. The crucial ETL step seems to bea decent decomposition of the input along its variety of separators.
Lets have a look:

input "myfile.csv"

date,time
29 September 2019, 8:50 PM
30 September 2019, 7:15 AM

cypher test 01:

LOAD CSV WITH HEADERS FROM 'file:///myfile.csv' AS line FIELDTERMINATOR ','
RETURN line.time, line.date

returns

" 8:50 PM" "29 September 2019"
" 7:15 AM" "30 September 2019"

cypher test 02:

LOAD CSV WITH HEADERS FROM 'file:///myfile.csv' AS line FIELDTERMINATOR ','
WITH SPLIT(trim(line.date), " ") as theDate, SPLIT(trim(line.time), " ") AS theTime
RETURN theDate, theTime

returns

theDate, theTime
["29", "September", "2019"] ["8:50", "PM"]
["30", "September", "2019"] ["7:15", "AM"]

cypher test 03:

LOAD CSV WITH HEADERS FROM 'file:///myfile.csv' AS line FIELDTERMINATOR ','
WITH SPLIT(trim(line.date), " ") as theDate, SPLIT(trim(line.time), " ") AS theTime
WITH theDate, split(theTime[0], ':') AS theTimeUnits, theTime[1] AS theTimeFlag
RETURN theDate, theTimeUnits, theTimeFlag

returns

theDate, theTimeUnits theTimeFlag
["29", "September", "2019"] ["8", "50"] "PM"
["30", "September", "2019"] ["7", "15"] "AM"