Fixed #25856 -- Added %B support to Date.strftime.

This enables the admin to display the correct localized month name if %B
is used in the date format.
This commit is contained in:
akoskaaa 2016-04-03 18:53:11 +02:00 committed by Tim Graham
parent a6074e8908
commit ab2d34ba3f
3 changed files with 9 additions and 0 deletions

View File

@ -204,4 +204,5 @@ depends on core.js for utility functions like removeChildren or quickElement
} }
}; };
window.Calendar = Calendar; window.Calendar = Calendar;
window.CalendarNamespace = CalendarNamespace;
})(); })();

View File

@ -153,8 +153,15 @@ function findPosY(obj) {
return this.getTwoDigitHour() + ':' + this.getTwoDigitMinute() + ':' + this.getTwoDigitSecond(); return this.getTwoDigitHour() + ':' + this.getTwoDigitMinute() + ':' + this.getTwoDigitSecond();
}; };
Date.prototype.getFullMonthName = function() {
return typeof window.CalendarNamespace === "undefined"
? this.getTwoDigitMonth()
: window.CalendarNamespace.monthsOfYear[this.getMonth()];
};
Date.prototype.strftime = function(format) { Date.prototype.strftime = function(format) {
var fields = { var fields = {
B: this.getFullMonthName(),
c: this.toString(), c: this.toString(),
d: this.getTwoDigitDate(), d: this.getTwoDigitDate(),
H: this.getTwoDigitHour(), H: this.getTwoDigitHour(),

View File

@ -54,6 +54,7 @@ test('Date.getHourMinuteSecond', function(assert) {
test('Date.strftime', function(assert) { test('Date.strftime', function(assert) {
var date = new Date(2014, 6, 1, 11, 0, 5); var date = new Date(2014, 6, 1, 11, 0, 5);
assert.equal(date.strftime('%Y-%m-%d %H:%M:%S'), '2014-07-01 11:00:05'); assert.equal(date.strftime('%Y-%m-%d %H:%M:%S'), '2014-07-01 11:00:05');
assert.equal(date.strftime('%B %d, %Y'), 'July 01, 2014');
}); });
test('String.strptime', function(assert) { test('String.strptime', function(assert) {