JSFiddle - React, Tailwind, and code Playground

by Cl3MM

JavaScript

var dateTime = function(args) {
  var time = (args && args.time) ? args.time : [0,0,0,0],
  		date = new Date((args && args.date) || Date.now())
  
  date.setUTCHours(time[0])
  date.setUTCMinutes(time[1])
  date.setUTCSeconds(time[2])
  date.setUTCMilliseconds(time[3])
  return date;
}

console.clear()

var isItTodayOrYesterday = function(given) {
  var start = dateTime(),
  		yesterday = dateTime({date: new Date(new Date().valueOf() - 3600 * 24 * 1000)}),
      end 	= dateTime({time: [23,59,59,999]})

  return given < yesterday ? "we're stuck in the past" 
  	: given < start ? 'yesterday' 
  		: given < end ? 'today' 
    		: "its the futur man"
}

var futur 		= new Date('December 17, 2018 03:24:00'),
    today 		= new Date(),
    yesterday = dateTime({
    	date: new Date(new Date().valueOf() - 3600 * 24 * 1000),
      time: [12,21,30,0]
    }),
    past  		= new Date('December 17, 1995 03:24:00');

console.log(past.toISOString())
console.log(yesterday.toISOString())
console.log(today.toISOString())
console.log(futur.toISOString())

console.log(isItTodayOrYesterday(past)) // "it's the past :S"
console.log(isItTodayOrYesterday(yesterday)) // yesterday
console.log(isItTodayOrYesterday(today)) // today
console.log(isItTodayOrYesterday(futur)) // its the futur man