mirror of https://github.com/espruino/BangleApps
70 lines
2.1 KiB
JavaScript
70 lines
2.1 KiB
JavaScript
|
var DateFormatter = require("slidingtext.dtfmt.js");
|
||
|
|
||
|
/**
|
||
|
* French date formatting
|
||
|
*/
|
||
|
const frenchNumberStr = [ "ZERO", "UNE", "DEUX", "TROIS", "QUATRE",
|
||
|
"CINQ", "SIX", "SEPT", "HUIT", "NEUF", "DIX",
|
||
|
"ONZE", "DOUZE", "TREIZE", "QUATORZE","QUINZE",
|
||
|
"SEIZE", "DIX SEPT", "DIX HUIT","DIX NEUF", "VINGT",
|
||
|
"VINGT ET UN", "VINGT DEUX", "VINGT TROIS",
|
||
|
"VINGT QUATRE", "VINGT CINQ", "VINGT SIX",
|
||
|
"VINGT SEPT", "VINGT HUIT", "VINGT NEUF"
|
||
|
];
|
||
|
|
||
|
function frenchHoursToText(hours){
|
||
|
hours = hours % 12;
|
||
|
if(hours == 0){
|
||
|
hours = 12;
|
||
|
}
|
||
|
return frenchNumberStr[hours];
|
||
|
}
|
||
|
|
||
|
function frenchHeures(hours){
|
||
|
if(hours % 12 == 1){
|
||
|
return 'HEURE';
|
||
|
} else {
|
||
|
return 'HEURES';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class FrenchDateFormatter extends DateFormatter {
|
||
|
constructor() { super(); }
|
||
|
name(){return "French";}
|
||
|
formatDate(date){
|
||
|
var hours = frenchHoursToText(date.getHours());
|
||
|
var heures = frenchHeures(date.getHours());
|
||
|
var mins = date.getMinutes();
|
||
|
if(mins == 0){
|
||
|
if(hours == 0){
|
||
|
return ["MINUIT", "",""];
|
||
|
} else if(hours == 12){
|
||
|
return ["MIDI", "",""];
|
||
|
} else {
|
||
|
return [hours, heures,""];
|
||
|
}
|
||
|
} else if(mins == 30){
|
||
|
return [hours, heures,'ET DEMIE'];
|
||
|
} else if(mins == 15){
|
||
|
return [hours, heures,'ET QUERT'];
|
||
|
} else if(mins == 45){
|
||
|
var next_hour = date.getHours() + 1;
|
||
|
hours = frenchHoursToText(next_hour);
|
||
|
heures = frenchHeures(next_hour);
|
||
|
return [hours, heures,"MOINS",'LET QUERT'];
|
||
|
}
|
||
|
if(mins > 30){
|
||
|
var to_mins = 60-mins;
|
||
|
var mins_txt = frenchNumberStr[to_mins];
|
||
|
next_hour = date.getHours() + 1;
|
||
|
hours = frenchHoursToText(next_hour);
|
||
|
heures = frenchHeures(next_hour);
|
||
|
return [ hours, heures , "MOINS", mins_txt ];
|
||
|
} else {
|
||
|
mins_txt = frenchNumberStr[mins];
|
||
|
return [ hours, heures , mins_txt ];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = FrenchDateFormatter;
|