Added Traditional English Formatting
parent
0d8a7c0d50
commit
40e77618a1
|
|
@ -0,0 +1,68 @@
|
||||||
|
var DateFormatter = require("slidingtext.dtfmt.js");
|
||||||
|
|
||||||
|
const numberStr = ["ZERO","ONE", "TWO", "THREE", "FOUR", "FIVE",
|
||||||
|
"SIX", "SEVEN","EIGHT", "NINE", "TEN",
|
||||||
|
"ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN",
|
||||||
|
"FIFTEEN", "SIXTEEN", "SEVENTEEN", "EIGHTEEN",
|
||||||
|
"NINETEEN", "TWENTY"];
|
||||||
|
const tensStr = ["ZERO", "TEN", "TWENTY", "THIRTY", "FOURTY",
|
||||||
|
"FIFTY"];
|
||||||
|
|
||||||
|
function hoursToText(hours){
|
||||||
|
hours = hours % 12;
|
||||||
|
if(hours == 0){
|
||||||
|
hours = 12;
|
||||||
|
}
|
||||||
|
return numberStr[hours];
|
||||||
|
}
|
||||||
|
|
||||||
|
function numberToText(value){
|
||||||
|
var word1 = '';
|
||||||
|
var word2 = '';
|
||||||
|
if(value > 20){
|
||||||
|
var tens = (value / 10 | 0);
|
||||||
|
word1 = tensStr[tens];
|
||||||
|
var remainder = value - tens * 10;
|
||||||
|
if(remainder > 0){
|
||||||
|
word2 = numberStr[remainder];
|
||||||
|
}
|
||||||
|
} else if(value > 0) {
|
||||||
|
word1 = numberStr[value];
|
||||||
|
}
|
||||||
|
return [word1,word2];
|
||||||
|
}
|
||||||
|
|
||||||
|
class EnglishTraditionalDateFormatter extends DateFormatter {
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
name(){return "English Traditional";}
|
||||||
|
formatDate(date){
|
||||||
|
var hours = hoursToText(date.getHours());
|
||||||
|
var mins = date.getMinutes();
|
||||||
|
if(mins == 0){
|
||||||
|
return [hours,"", "O'","CLOCK"];
|
||||||
|
} else if(mins == 30){
|
||||||
|
return ["","HALF", "PAST", "", hours];
|
||||||
|
}
|
||||||
|
var mins_txt = ['',''];
|
||||||
|
if(mins == 15 || mins == 45){
|
||||||
|
mins_txt[0] = "QUARTER";
|
||||||
|
}
|
||||||
|
var from_to = '';
|
||||||
|
if(mins > 30){
|
||||||
|
from_to = "TO";
|
||||||
|
mins_txt = numberToText(60-mins);
|
||||||
|
} else {
|
||||||
|
from_to = "PAST";
|
||||||
|
mins_txt = numberToText(mins);
|
||||||
|
}
|
||||||
|
if(mins_txt[1] != '') {
|
||||||
|
return ['', mins_txt[0], mins_txt[1], from_to, hours];
|
||||||
|
} else {
|
||||||
|
return ['', mins_txt[0], from_to, '', hours];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = EnglishTraditionalDateFormatter;
|
||||||
Loading…
Reference in New Issue