Allow international formatted dates in CSV imports
This commit is contained in:
parent
1513c761bc
commit
9778c486e9
5 changed files with 27 additions and 15 deletions
|
@ -514,18 +514,27 @@ module.exports.getRow = (fieldList, values, useDate, showAll, onlyExisting) => {
|
|||
} else {
|
||||
value = (value || '').toString().trim();
|
||||
|
||||
let parts = value.match(/(\d+)\D+(\d+)(?:\D+(\d+))?/);
|
||||
if (!parts) {
|
||||
value = null;
|
||||
// try international format first YYYY-MM-DD
|
||||
let parts = value.match(/(\d{4})\D+(\d{2})(?:\D+(\d{2})\b)?/);
|
||||
if (parts) {
|
||||
year = Number(parts[1]) || 2000;
|
||||
month = Number(parts[2]) || 0;
|
||||
day = Number(parts[3]) || 0;
|
||||
value = new Date(Date.UTC(year, month - 1, day));
|
||||
} else {
|
||||
day = Number(parts[isUs ? 2 : 1]) || 0;
|
||||
month = Number(parts[isUs ? 1 : 2]) || 0;
|
||||
year = Number(parts[3]) || 2000;
|
||||
|
||||
if (!day || !month) {
|
||||
parts = value.match(/(\d+)\D+(\d+)(?:\D+(\d+)\b)?/);
|
||||
if (!parts) {
|
||||
value = null;
|
||||
} else {
|
||||
value = new Date(Date.UTC(year, month - 1, day));
|
||||
day = Number(parts[isUs ? 2 : 1]) || 0;
|
||||
month = Number(parts[isUs ? 1 : 2]) || 0;
|
||||
year = Number(parts[3]) || 2000;
|
||||
|
||||
if (!day || !month) {
|
||||
value = null;
|
||||
} else {
|
||||
value = new Date(Date.UTC(year, month - 1, day));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue