From e0de21e4daff3687326977bbfadd40bf1b24a736 Mon Sep 17 00:00:00 2001 From: Minkyu Kang Date: Fri, 18 Jan 2013 14:05:55 +0900 Subject: [PATCH] datetimepicker: date calibration when year is changed When date is 2012/02/39 change year to 2013, the result is 2013/03/01 (expected 2013/02/28). This patch fix this problem. (N_SE-21250) Change-Id: I3fb2df75624110cfb9972bc410d7616e5d97cf22 --- .../js/jquery.mobile.tizen.datetimepicker.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/widgets/datetimepicker/js/jquery.mobile.tizen.datetimepicker.js b/src/widgets/datetimepicker/js/jquery.mobile.tizen.datetimepicker.js index 5fb3af4..ac2c2fd 100644 --- a/src/widgets/datetimepicker/js/jquery.mobile.tizen.datetimepicker.js +++ b/src/widgets/datetimepicker/js/jquery.mobile.tizen.datetimepicker.js @@ -720,7 +720,12 @@ }); $(obj).bind( 'update', function ( e, val ) { - var date = new Date( this.options.date ); + var date = new Date( this.options.date ), + month, + date_calibration = function () { + date.setDate( 1 ); + date.setDate( date.getDate() - 1 ); + }; switch ( field[1] ) { case 'min': @@ -733,14 +738,18 @@ date.setSeconds( val ); break; case 'year': + month = date.getMonth(); date.setFullYear( val ); + + if ( date.getMonth() != month ) { + date_calibration(); + } break; case 'month': date.setMonth( val - 1 ); if ( date.getMonth() == val ) { - date.setDate( 1 ); - date.setDate( date.getDate() - 1 ); + date_calibration(); } break; case 'day': -- 2.7.4