mirror of https://github.com/espruino/BangleApps
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