@@ -45,11 +45,17 @@ export function createDate(dateString, timezone, format) {
4545 }
4646
4747 if ( timezone ) {
48- return format
49- ? dayjs . tz ( dateString , format , timezone )
50- : dayjs . tz ( new Date ( dateString ) , timezone ) ;
48+ try {
49+ return format
50+ ? dayjs . tz ( dateString , format , timezone )
51+ : dayjs . tz ( dayjs ( dateString ) . format ( 'YYYY-MM-DD HH:mm:ss' ) , timezone ) ;
52+ } catch ( error ) {
53+ // return an intentionally invalid dayjs object,
54+ // in case the input needs to be cleaned first
55+ return dayjs ( '' ) ;
56+ }
5157 }
52- return format ? dayjs ( dateString , format ) : dayjs ( new Date ( dateString ) ) ;
58+ return format ? dayjs ( dateString , format ) : dayjs ( dateString ) ;
5359}
5460
5561// Take a date published string, and hopefully return a date out of
@@ -68,10 +74,14 @@ export default function cleanDatePublished(
6874
6975 let date = createDate ( dateString , timezone , format ) ;
7076
77+ console . log ( 'dateString' , dateString , date . format ( ) ) ;
78+
7179 if ( ! date . isValid ( ) ) {
7280 dateString = cleanDateString ( dateString ) ;
73- date = createDate ( dateString , timezone , format ) ;
81+ date = createDate ( dateString , timezone ) ;
7482 }
7583
84+ console . log ( 'dateString' , dateString , date . format ( ) ) ;
85+
7686 return date . isValid ( ) ? date . toISOString ( ) : null ;
7787}
0 commit comments