isAtOrAfter
isAtOrAfter
(date1: date) => (date2: date) => boolean
Test if a date is the same as or after another
const janFirst2025 = new Date('2025 1 1') const isAtOrAfterJanFirst2025 = isAtOrAfter(janFirst2025) const now = new Date() isAtOrAfterJanFirst2025(now) // is true const decFirst2024 = new Date('2024 12 1') isAtOrAfterJanFirst2025(decFirst2024) // is false isAtOrAfterJanFirst2025(janFirst2025) // is true
const janFirst2025 = new Date('2025 1 1') const isAtOrAfterJanFirst2025 = isAtOrAfter(janFirst2025) const now = new Date() isAtOrAfterJanFirst2025(now) // is true const decFirst2024 = new Date('2024 12 1') isAtOrAfterJanFirst2025(decFirst2024) // is false isAtOrAfterJanFirst2025(janFirst2025) // is true
const janFirst2025 = new Date('2025 1 1') const isAtOrAfterJanFirst2025 = isAtOrAfter(janFirst2025) const now = new Date() isAtOrAfterJanFirst2025(now) // is true const decFirst2024 = new Date('2024 12 1') isAtOrAfterJanFirst2025(decFirst2024) // is false isAtOrAfterJanFirst2025(janFirst2025) // is true
const janFirst2025 = new Date('2025 1 1') const isAtOrAfterJanFirst2025 = isAtOrAfter(janFirst2025) const now = new Date() isAtOrAfterJanFirst2025(now) // is true const decFirst2024 = new Date('2024 12 1') isAtOrAfterJanFirst2025(decFirst2024) // is false isAtOrAfterJanFirst2025(janFirst2025) // is true
Sometimes we need to compare dates. Below, we have some tablets sent in for repair. Those under warranty can be repaired now, so let's find them.
const tabletsOnDesk = [ { name: 'Samsung Galaxy', purchaseDate: new Date('2024 6 11'), }, { name: 'OnePlus Pad', purchaseDate: new Date('2023 9 21'), }, ] const janFirst2024 = new Date('2024 1 1') const isEligibleForWarranty = compose([ get('purchaseDate'), isAtOrAfter(janFirst2024), ]) const tabletsToRepair = tabletsOnDesk.filter(isEligibleForWarranty) console.log(tabletsToRepair) // is [ // { // name: Samsung Galaxy // purchaseDate: 2024 6 11 // } // ]
type Tablet = { name: string purchaseDate: Date } const tabletsOnDesk: Tablet[] = [ { name: 'Samsung Galaxy', purchaseDate: new Date('2024 6 11'), }, { name: 'OnePlus Pad', purchaseDate: new Date('2023 9 21'), }, ] const janFirst2024 = new Date('2024 1 1') const isEligibleForWarranty = compose([ get('purchaseDate')<Tablet>, isAtOrAfter(janFirst2024), ]) const tabletsToRepair = tabletsOnDesk.filter(isEligibleForWarranty) console.log(tabletsToRepair) // is [ // { // name: Samsung Galaxy // purchaseDate: 2024 6 11 // } // ]
const tabletsOnDesk = [ { name: 'Samsung Galaxy', purchaseDate: new Date('2024 6 11'), }, { name: 'OnePlus Pad', purchaseDate: new Date('2023 9 21'), }, ] const janFirst2024 = new Date('2024 1 1') const isEligibleForWarranty = compose([ get('purchaseDate'), isAtOrAfter(janFirst2024), ]) const tabletsToRepair = tabletsOnDesk.filter( isEligibleForWarranty ) console.log(tabletsToRepair) // is [ // { // name: Samsung Galaxy // purchaseDate: 2024 6 11 // } // ]
type Tablet = { name: string purchaseDate: Date } const tabletsOnDesk: Tablet[] = [ { name: 'Samsung Galaxy', purchaseDate: new Date('2024 6 11'), }, { name: 'OnePlus Pad', purchaseDate: new Date('2023 9 21'), }, ] const janFirst2024 = new Date('2024 1 1') const isEligibleForWarranty = compose([ get('purchaseDate')<Tablet>, isAtOrAfter(janFirst2024), ]) const tabletsToRepair = tabletsOnDesk.filter( isEligibleForWarranty ) console.log(tabletsToRepair) // is [ // { // name: Samsung Galaxy // purchaseDate: 2024 6 11 // } // ]