2021-04-07 21:45:50 +00:00
|
|
|
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';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-04-11 14:18:30 +00:00
|
|
|
class FrenchDateFormatter extends DateFormatter {
|
|
|
|
constructor() { super(); }
|
2021-04-07 21:45:50 +00:00
|
|
|
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){
|
2021-04-22 21:30:13 +00:00
|
|
|
return [hours, heures,'ET QUART'];
|
2021-04-07 21:45:50 +00:00
|
|
|
} else if(mins == 45){
|
|
|
|
var next_hour = date.getHours() + 1;
|
|
|
|
hours = frenchHoursToText(next_hour);
|
|
|
|
heures = frenchHeures(next_hour);
|
2021-04-22 21:30:13 +00:00
|
|
|
return [hours, heures,"MOINS",'LET QUART'];
|
2021-04-07 21:45:50 +00:00
|
|
|
}
|
|
|
|
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;
|