I am working with a CSV file and I am trying to do something equivalent to calling new Date()
and pass in some argument to customize what day month and year this argument points to like so:
new Date(2020, 0, 15);
"2020-01-15T06:00:00.000Z"
Initially, my CSV file looked like this:
'Urban Residential and Combined Industrial/Commercial',
[start:run] '1/19/15',
[start:run] '12/8/15',
[start:run] '1',
[start:run] 'CIC(PD)',
[start:run] '1/19/15',
but then I converted it in Numbers so that it shows the full year and so my code below should work in the following manner:
export const dateStringToDate = (dateString: string): Date => {
// 12/18/2014
const dateParts = dateString.split("/").map((value: string): number => {
return parseInt(value);
}); // ['12', '18', '2014']
return new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);
};
and then importing into my CsvFileReader
:
import fs from "fs";
import { dateStringToDate } from "./utils";
export class CsvFileReader {
data: string[][] = [];
constructor(public filename: string) {}
read(): void {
this.data = fs
.readFileSync(this.filename, {
encoding: "utf-8",
})
.split("\n")
.map((row: string): string[] => {
return row.split(",");
})
.map((row: string[]): any => {
return [dateStringToDate(row[0])];
});
}
}
I am still getting Invalid Dates.
[
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] [ Invalid Date ], [ Invalid Date ], [ Invalid Date ], [ Invalid Date ],
[start:run] ... 4348 more items
[start:run] ]