@syncfusion/ej2-base 32.1.22 → 32.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6169,10 +6169,15 @@ class DateParser {
6169
6169
  const tzone = options.timeZone;
6170
6170
  if (!isUndefined(y)) {
6171
6171
  const len = (y + '').length;
6172
- if (len <= 2) {
6172
+ const typedYearString = options.typedYearString || '';
6173
+ const isPaddedAncientYear = /^0{2,3}\d{1,2}$/.test(typedYearString);
6174
+ if (len <= 2 && !isPaddedAncientYear) {
6173
6175
  const century = Math.floor(res.getFullYear() / 100) * 100;
6174
6176
  y += century;
6175
6177
  }
6178
+ if (isPaddedAncientYear) {
6179
+ return null;
6180
+ }
6176
6181
  res.setFullYear(y);
6177
6182
  }
6178
6183
  for (const key of tKeys) {
@@ -6264,6 +6269,9 @@ class DateParser {
6264
6269
  let matchString = matches[curObject.pos];
6265
6270
  if (curObject.isNumber) {
6266
6271
  retOptions[`${prop}`] = this.internalNumberParser(matchString, num);
6272
+ if (prop === 'year' && !isNullOrUndefined(matchString)) {
6273
+ retOptions.typedYearString = matchString.trim();
6274
+ }
6267
6275
  }
6268
6276
  else {
6269
6277
  if (prop === 'timeZone' && !isUndefined(matchString)) {