-1

I'm getting date from the API in this format 14:30:00 inside "this.StartTime". My question is how can I calculate the time difference between the date I'm getting inside "this.StartTime" and present date?

Following is my component.ts code:-

  getBookingDetails() {
    this._CounsellingService.getBookingDetails().subscribe(
      response => {
        this.sessionDetails = response;
        this.StartTime = this.sessionDetails.StartTime;
      }
    );
  }
Utkarsh Gautam
  • 211
  • 2
  • 4
  • 13

1 Answers1

0

You can create a date today and then set its time part as startDate. Then compare it with current time;

var startTime = "14:30:00".split(":");
var h = startTime[0];
var m = startTime[1];
var s = startTime[2];
var now = new Date();
startTime = new Date(now);
startTime.setHours(h);
startTime.setMinutes(m);
startTime.setSeconds(s);

difference = startTime.getTime() - now.getTime();

console.log(msToTime(difference))

function msToTime(s) {
  var ms = s % 1000;
  s = (s - ms) / 1000;
  var secs = s % 60;
  s = (s - secs) / 60;
  var mins = s % 60;
  var hrs = (s - mins) / 60;

  return hrs + ':' + mins + ':' + secs + '.' + ms;
}
sabithpocker
  • 15,274
  • 1
  • 42
  • 75