var a = moment().startOf('year');
var b = moment().endOf('year');

var n = moment()
var t = moment().startOf('day');

let q =  b.diff(a, 'days');
let p =  b.diff(t, 'days');
let r =  t.diff(a, 'days');

let h = n.diff(a, 'hours');
let i = b.diff(a, 'hours');

let html = `**THIS YEAR**         <progress style="height:10px;width:20%" value="`+h+`" max="`+i+`"></progress>`

if (r>0 && r<q) {
	html +=  `    ** ` +(h/i*100).toFixed(0)+`%** | `
	html +=  +p+` days remaining, `+ (p/7).toFixed(1)+ ` weeks remaining`
} else if (r==0) {
	html += `    **YEAR : ` +(h/i*100).toFixed(0)+`%** | `+ p + ` days remaining`
} else if (r==q) {
	html += `   Ends today`
} else if (r>q) {
	html += `   Ended `+-p+` days ago`
}else {
	html +=  `   `+-r+` days remaining`
}
dv.paragraph(html)
var a = moment().startOf('month');
var b = moment().endOf('month');


var n = moment()
var t = moment().startOf('day');

let q =  b.diff(a, 'days');
let p =  b.diff(t, 'days');
let r =  t.diff(a, 'days');

let h = n.diff(a, 'hours');
let i = b.diff(a, 'hours');

let html = `**THIS MONTH**     <progress style="height:10px;width:20%" value="`+h+`" max="`+i+`"></progress>`

if (r>0 && r<q) {
	html +=  `    **` +(h/i*100).toFixed(0)+`%** | `
	html += +p+` days remaining` 
} else if (r==0) {
	html += `    **` +(h/i*100).toFixed(0)+`%** | `+ p + ` days remaining`
} else if (r==q) {
	html += `   Ends today`
} else if (r>q) {
	html += `   Ended `+-p+` days ago`
}else {
	html += `   `+-r+` days remaining`
}

dv.paragraph(html)
PeriodValueDayOfProgressPercent
Day= dateformat(date(now), "EEE, dd-MMM-yy")= dateformat(date(now), "HH")24= "<progress max=" + 24 + " value=" + number(dateformat(date(now), "HH")) + "> </progress>"= round((number(dateformat(date(now), "HH")) / 24)*100) + " %"
Week= dateformat(date(now), "kkkk-'FW'WW")= dateformat(date(now), "E")7= "<progress max=" + 7 + " value=" + number(dateformat(date(now), "E")) + "> </progress>" = round((number(dateformat(date(now), "E")) / 7)*100) + " %"
Month= dateformat(date(now), "MMMM '('MM')'")= dateformat(date(now), "dd")= dateformat(date(eom), "dd")= "<progress max=" + dateformat(date(eom), "dd") + " value=" + number(dateformat(date(now), "dd")) + "> </progress>"=round((number(dateformat(date(now), "dd")) / number(dateformat(date(eom), "dd")))*100) + " %"
Quarter= choice( (date(now) > date(2023-01-01)) AND (date(now) < date(2023-03-31)), "Q1", choice( (date(now) > date(2023-04-01)) AND (date(now) < date(2023-06-30)), "Q2", choice( (date(now) > date(2023-07-01)) AND (date(now) < date(2023-09-30)), "Q3", choice( (date(now) > date(2023-10-01)) AND (date(now) < date(2023-12-31)), "Q4", "ERROR" ) ) ) ) = choice( (date(now) > date(2023-01-01)) AND (date(now) < date(2023-03-31)), (number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-01-01), "ooo"))+1), choice( (date(now) > date(2023-04-01)) AND (date(now) < date(2023-06-30)), (number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-04-01), "ooo"))+1), choice( (date(now) > date(2023-07-01)) AND (date(now) < date(2023-09-30)), (number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-07-01), "ooo"))+1), choice( (date(now) > date(2023-10-01)) AND (date(now) < date(2023-12-31)), (number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-10-01), "ooo"))+1), "ERROR" ) ) ) ) = choice( (date(now) > date(2023-01-01)) AND (date(now) < date(2023-03-31)), (number(dateformat(date(2023-03-31), "ooo")) - number(dateformat(date(2023-01-01), "ooo"))+1), choice( (date(now) > date(2023-04-01)) AND (date(now) < date(2023-06-30)), (number(dateformat(date(2023-06-30), "ooo")) - number(dateformat(date(2023-04-01), "ooo"))+1), choice( (date(now) > date(2023-07-01)) AND (date(now) < date(2023-09-30)), (number(dateformat(date(2023-09-30), "ooo")) - number(dateformat(date(2023-07-01), "ooo"))+1), choice( (date(now) > date(2023-10-01)) AND (date(now) < date(2023-12-31)), (number(dateformat(date(2023-12-31), "ooo")) - number(dateformat(date(2023-10-01), "ooo"))+1), "ERROR" ) ) ) ) = choice( (date(now) > date(2023-01-01)) AND (date(now) < date(2023-03-31)), "<progress max=" + (number(dateformat(date(2023-03-31), "ooo")) - number(dateformat(date(2023-01-01), "ooo"))+1) + " value=" + (number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-01-01), "ooo"))+1) + "> </progress> ", choice( (date(now) > date(2023-04-01)) AND (date(now) < date(2023-06-30)), "<progress max=" + (number(dateformat(date(2023-06-30), "ooo")) - number(dateformat(date(2023-04-01), "ooo"))+1) + " value=" + (number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-04-01), "ooo"))+1) + "> </progress> ", choice( (date(now) > date(2023-07-01)) AND (date(now) < date(2023-09-30)), "<progress max=" + (number(dateformat(date(2023-09-30), "ooo")) - number(dateformat(date(2023-07-01), "ooo"))+1) + " value=" + (number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-07-01), "ooo"))+1) + "> </progress>", choice( (date(now) > date(2023-10-01)) AND (date(now) < date(2023-12-31)), "<progress max=" + (number(dateformat(date(2023-12-31), "ooo")) - number(dateformat(date(2023-10-01), "ooo"))+1) + " value=" + (number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-10-01), "ooo"))+1) + "> </progress>", "ERROR" ) ) ) ) = choice( (date(now) > date(2023-01-01)) AND (date(now) < date(2023-03-31)), (round(100*(number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-01-01), "ooo"))+1)/(number(dateformat(date(2023-03-31), "ooo")) - number(dateformat(date(2023-01-01), "ooo"))+1))) + " %", choice( (date(now) > date(2023-04-01)) AND (date(now) < date(2023-06-30)), (round(100*(number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-04-01), "ooo"))+1)/(number(dateformat(date(2023-06-30), "ooo")) - number(dateformat(date(2023-04-01), "ooo"))+1))) + " %", choice( (date(now) > date(2023-07-01)) AND (date(now) < date(2023-09-30)), (round(100*(number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-07-01), "ooo"))+1)/(number(dateformat(date(2023-09-30), "ooo")) - number(dateformat(date(2023-07-01), "ooo"))+1))) + " %", choice( (date(now) > date(2023-10-01)) AND (date(now) < date(2023-12-31)), (round(100*(number(dateformat(date(now), "ooo")) - number(dateformat(date(2023-10-01), "ooo"))+1)/(number(dateformat(date(2023-12-31), "ooo")) - number(dateformat(date(2023-10-01), "ooo"))+1))) + " %", "ERROR" ) ) ) )
Year= dateformat(date(now), "kkkk")= number(dateformat(date(now), "ooo"))= number(dateformat(date(2023-12-31), "ooo"))= "<progress max=" + (number(dateformat(date(2023-12-31), "ooo"))) + " value=" + (number(dateformat(date(now), "ooo"))) + "> </progress>"=round(100*(number(dateformat(date(now), "ooo")) / number(dateformat(date(2023-12-31), "ooo")))) + " %"