diff --git a/landingPages/result/resultLanding.service.ts b/landingPages/result/resultLanding.service.ts index b73bb932..fffcaf3a 100644 --- a/landingPages/result/resultLanding.service.ts +++ b/landingPages/result/resultLanding.service.ts @@ -6,6 +6,7 @@ import {EnvProperties} from '../../utils/properties/env-properties'; import {ParsingFunctions} from '../landing-utils/parsingFunctions.class'; import {map, tap} from "rxjs/operators"; import {HostedByCollectedFrom, Organization} from "../../utils/result-preview/result-preview"; +import {Dates} from "../../utils/string-utils.class"; @Injectable() export class ResultLandingService { @@ -99,7 +100,7 @@ export class ResultLandingService { //this.resultLandingInfo.description = String(data[0].description[0]); this.resultLandingInfo.description = (data[0] && data[0].description[0]) ? String(data[0].description[0]) : ""; } - this.resultLandingInfo.embargoEndDate = data[0].embargoenddate?new Date(data[0].embargoenddate):null; + this.resultLandingInfo.embargoEndDate = data[0].embargoenddate?Dates.getDateFromString(data[0].embargoenddate):null; } if(data[0]['bestaccessright'] && data[0]['bestaccessright'].hasOwnProperty("classname")) { diff --git a/services/searchResearchResults.service.ts b/services/searchResearchResults.service.ts index 2c995a11..aea9d3aa 100644 --- a/services/searchResearchResults.service.ts +++ b/services/searchResearchResults.service.ts @@ -2,7 +2,7 @@ import {Injectable} from '@angular/core'; import {HttpClient} from "@angular/common/http"; import {SearchResult} from '../utils/entities/searchResult'; import {RefineResultsUtils} from './servicesUtils/refineResults.class'; -import {DOI, StringUtils} from '../utils/string-utils.class'; +import {Dates, DOI, StringUtils} from '../utils/string-utils.class'; import {ParsingFunctions} from '../landingPages/landing-utils/parsingFunctions.class'; import {EnvProperties} from '../utils/properties/env-properties'; import {map} from "rxjs/operators"; @@ -297,7 +297,7 @@ export class SearchResearchResultsService { } if(resData.embargoenddate && resData.embargoenddate != '') { - result.embargoEndDate = new Date(resData.embargoenddate); + result.embargoEndDate = Dates.getDateFromString(resData.embargoenddate); } if(!Array.isArray(resData.publisher)) { diff --git a/utils/string-utils.class.ts b/utils/string-utils.class.ts index f0044c88..7bc4a6da 100644 --- a/utils/string-utils.class.ts +++ b/utils/string-utils.class.ts @@ -271,4 +271,17 @@ export class StringUtils { } return false; } + + public static getDateFromString(dateString: string): Date { + let date = new Date(dateString); + if (Object.prototype.toString.call(date) === "[object Date]") { + if (isNaN(date.getTime())) { + return null; + } else { + return date; + } + } else { + return null; + } + } }