File size: 497 Bytes
d9494a5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { Temporal } from 'temporal-polyfill';

export const parseToPlainDateOrThrow = (stringDate: string) => {
  try {
    const parsedPlainDate = Temporal.Instant.from(stringDate)
      .toZonedDateTimeISO('UTC')
      .toPlainDate();

    return parsedPlainDate;
  } catch {
    //
  }

  try {
    const parsedPlainDate = Temporal.PlainDate.from(stringDate);

    return parsedPlainDate;
  } catch {
    //
  }

  throw new Error(`Cannot parse date string as PlainDate : "${stringDate}"`);
};