Improve date parsing

This commit is contained in:
Daniel Triendl
2020-11-04 23:34:03 +01:00
parent 7db79afca2
commit ecb9097f5f
3 changed files with 27 additions and 25 deletions

View File

@ -9,7 +9,7 @@ export class CallHistory {
if (callerId.tD_NAME !== '') {
var span = call.querySelector('span')
this.showTimeManager(call, span.nextSibling.textContent, callerId)
this.showTimeManager(call, span.nextSibling.textContent.trim(), callerId)
var text = span.textContent
span.textContent = callerId.tD_NAME
@ -22,32 +22,34 @@ export class CallHistory {
}
}
private showTimeManager (call: HTMLElement, time: string, callerId: TapiContact) {
private showTimeManager (call: HTMLElement, date: string, callerId: TapiContact) {
if (!callerId.tD_ID) {
return
}
var timeParts = time.split(/, /)
var dateParts = date.match(/^(?<date>.*), (?<duration>[0-9]{2}:[0-9]{2}:[0-9]{2})$/)
var duration = '00:00:00'
if (timeParts.length >= 1) {
time = timeParts[0]
if (dateParts) {
date = dateParts.groups.date
duration = dateParts.groups.duration
}
if (timeParts.length >= 2) {
duration = timeParts[1]
}
var parsedDate = chrono.de.parseDate(time)
var parsedDate = chrono.de.parseDate(date)
if (!parsedDate) {
parsedDate = chrono.parseDate(time)
parsedDate = chrono.parseDate(date)
}
if (!parsedDate) {
return
}
// Date parsing is awful, just assume the first number is the day of month
var day = date.match(/[0-9]+/)[0]
var parsedDuration = chrono.parseDate(duration)
console.log('TAPI call history time:', time, 'parsedDate:', parsedDate, 'duration:', duration, 'parsedDuration:', parsedDuration)
console.log('TAPI call history time:', date, 'parsedDate:', parsedDate, 'duration:', duration, 'parsedDuration:', parsedDuration)
var connect = parsedDate.getFullYear().toString() +
(parsedDate.getMonth() + 1).toString().padStart(2, '0') + // (January gives 0)
parsedDate.getDate().toString().padStart(2, '0') +
day.toString().padStart(2, '0') +
parsedDate.getHours().toString().padStart(2, '0') +
parsedDate.getMinutes().toString().padStart(2, '0')