diff --git a/app/code/Magento/Quote/Model/Product/Plugin/RemoveQuoteItems.php b/app/code/Magento/Quote/Model/Product/Plugin/RemoveQuoteItems.php
index 49d9be6bcf8ff748b00f67166856185b23a15f53..76af26e3c89cc651691f05f19a9689bedf823b1f 100644
--- a/app/code/Magento/Quote/Model/Product/Plugin/RemoveQuoteItems.php
+++ b/app/code/Magento/Quote/Model/Product/Plugin/RemoveQuoteItems.php
@@ -5,6 +5,8 @@
  */
 namespace Magento\Quote\Model\Product\Plugin;
 
+use Magento\Catalog\Model\ResourceModel\Product as ProductResource;
+
 class RemoveQuoteItems
 {
     /**
@@ -21,19 +23,17 @@ class RemoveQuoteItems
     }
 
     /**
-     * @param \Magento\Catalog\Model\ResourceModel\Product $subject
-     * @param \Closure $proceed
+     * @param ProductResource $subject
+     * @param ProductResource $result
      * @param \Magento\Catalog\Api\Data\ProductInterface $product
-     * @return mixed
+     * @return ProductResource
      * @SuppressWarnings(PHPMD.UnusedFormalParameter)
-     * TODO: reimplement with after plugin
      */
-    public function aroundDelete(
-        \Magento\Catalog\Model\ResourceModel\Product $subject,
-        \Closure $proceed,
+    public function afterDelete(
+        ProductResource $subject,
+        ProductResource $result,
         \Magento\Catalog\Api\Data\ProductInterface $product
     ) {
-        $result = $proceed($product);
         $this->quoteItemsCleaner->execute($product);
         return $result;
     }
diff --git a/app/code/Magento/Quote/Test/Unit/Model/Product/Plugin/RemoveQuoteItemsTest.php b/app/code/Magento/Quote/Test/Unit/Model/Product/Plugin/RemoveQuoteItemsTest.php
index 083722f3a1bb3d9044284f7f65ac1b1239b2d0c5..deb6aab3a980a54baf4c69289833d068a78c8d4d 100644
--- a/app/code/Magento/Quote/Test/Unit/Model/Product/Plugin/RemoveQuoteItemsTest.php
+++ b/app/code/Magento/Quote/Test/Unit/Model/Product/Plugin/RemoveQuoteItemsTest.php
@@ -23,16 +23,13 @@ class RemoveQuoteItemsTest extends \PHPUnit_Framework_TestCase
         $this->model = new \Magento\Quote\Model\Product\Plugin\RemoveQuoteItems($this->quoteItemsCleanerMock);
     }
 
-    public function testAroundDelete()
+    public function testAfterDelete()
     {
         $productResourceMock = $this->getMock(\Magento\Catalog\Model\ResourceModel\Product::class, [], [], '', false);
         $productMock = $this->getMock(\Magento\Catalog\Api\Data\ProductInterface::class);
-        $closure = function () use ($productResourceMock) {
-            return $productResourceMock;
-        };
 
         $this->quoteItemsCleanerMock->expects($this->once())->method('execute')->with($productMock);
-        $result = $this->model->aroundDelete($productResourceMock, $closure, $productMock);
+        $result = $this->model->afterDelete($productResourceMock, $productResourceMock, $productMock);
         $this->assertEquals($result, $productResourceMock);
     }
 }
diff --git a/app/code/Magento/Ui/view/base/web/js/form/element/date.js b/app/code/Magento/Ui/view/base/web/js/form/element/date.js
index c9fe97b64a76f6d79a3f4330fb147b7ef9d1a404..202cfe93069b02bad6ff888a51b9661a54109e54 100644
--- a/app/code/Magento/Ui/view/base/web/js/form/element/date.js
+++ b/app/code/Magento/Ui/view/base/web/js/form/element/date.js
@@ -167,38 +167,22 @@ define([
         prepareDateTimeFormats: function () {
             this.pickerDateTimeFormat = this.options.dateFormat;
             this.momentFormat = this.options.dateFormat ?
-                this.convertToMomentFormat(this.options.dateFormat) : this.momentFormat;
+                    utils.convertToMomentFormat(this.options.dateFormat) : this.momentFormat;
 
             if (this.options.showsTime) {
                 this.pickerDateTimeFormat += ' ' + this.options.timeFormat;
             }
 
-            this.pickerDateTimeFormat = utils.normalizeDate(this.pickerDateTimeFormat);
+            this.pickerDateTimeFormat = utils.convertToMomentFormat(this.pickerDateTimeFormat);
 
             if (this.dateFormat) {
                 this.inputDateFormat = this.dateFormat;
             }
 
-            this.inputDateFormat = utils.normalizeDate(this.inputDateFormat);
-            this.outputDateFormat = utils.normalizeDate(this.outputDateFormat);
+            this.inputDateFormat = utils.convertToMomentFormat(this.inputDateFormat);
+            this.outputDateFormat = utils.convertToMomentFormat(this.outputDateFormat);
 
             this.validationParams.dateFormat = this.outputDateFormat;
-        },
-
-        /**
-         * Converts PHP IntlFormatter format to moment format.
-         *
-         * @param {String} format - PHP format
-         * @returns {String} - moment compatible formatting
-         */
-        convertToMomentFormat: function (format) {
-            var newFormat;
-
-            newFormat = format.replace(/yy|y/gi, 'YYYY'); // replace the year
-            newFormat = newFormat.replace(/dd|d/g, 'DD'); // replace the date
-            newFormat = newFormat.replace(/mm|m/gi, 'MM'); //replace the month
-
-            return newFormat;
         }
     });
 });
diff --git a/app/code/Magento/Ui/view/base/web/js/lib/knockout/bindings/datepicker.js b/app/code/Magento/Ui/view/base/web/js/lib/knockout/bindings/datepicker.js
index 77d3a069ccef76bbcacad28459820b3359b025e7..4f52aa431632c11115864b22bdc819b9385b20a3 100644
--- a/app/code/Magento/Ui/view/base/web/js/lib/knockout/bindings/datepicker.js
+++ b/app/code/Magento/Ui/view/base/web/js/lib/knockout/bindings/datepicker.js
@@ -53,7 +53,7 @@ define([
                 'setDate',
                 moment(
                     observable(),
-                    utils.normalizeDate(
+                    utils.convertToMomentFormat(
                         options.dateFormat + (options.showsTime ? ' ' + options.timeFormat : '')
                     )
                 ).toDate()
diff --git a/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/date.test.js b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/date.test.js
index 0ac9ddc56e00ada18da9842e53791128440150cd..51a998e6eb2a04ea2e63c64933a90335dadd96cc 100644
--- a/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/date.test.js
+++ b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/date.test.js
@@ -7,9 +7,8 @@
 
 define([
     'Magento_Ui/js/form/element/date',
-    'mageUtils',
-    'moment'
-], function (DateElement, utils, moment) {
+    'mageUtils'
+], function (DateElement, utils) {
     'use strict';
 
     describe('Magento_Ui/js/form/element/date', function () {
@@ -22,637 +21,11 @@ define([
             model = new DateElement(params);
         });
 
-        it('Check convertToMomentFormat function', function () {
-            var format,
-                momentFormat;
-
-            format = 'M/d/yy';
-            momentFormat = 'MM/DD/YYYY';
-            expect(model.convertToMomentFormat(format)).toBe(momentFormat);
-        });
-
         it('Check prepareDateTimeFormats function', function () {
-            spyOn(model, 'convertToMomentFormat');
-            spyOn(utils, 'normalizeDate');
+            spyOn(utils, 'convertToMomentFormat');
             model.prepareDateTimeFormats();
-            expect(model.convertToMomentFormat).toHaveBeenCalled();
-            expect(utils.normalizeDate).toHaveBeenCalled();
+            expect(utils.convertToMomentFormat).toHaveBeenCalled();
         });
 
-        it('Check convertToMomentFormat function for all Magento supported locales', function () {
-
-            var fixture,
-                localeValues,
-                format,
-                expectedValue,
-                momentFormat,
-                dt,
-                m,
-                p;
-
-            fixture = {
-                'af_ZA': {
-                    'locale': 'af_ZA',
-                    'localeInfo': {
-                        'format': 'y-MM-dd',
-                        'expectedValue': '2016-11-17'
-                    }
-                },
-                'az_Latn_AZ': {
-                    'locale': 'az_Latn_AZ',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'id_ID': {
-                    'locale': 'id_ID',
-                    'localeInfo': {
-                        'format': 'dd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'ms_Latn_MY': {
-                    'locale': 'ms_Latn_MY',
-                    'localeInfo': {
-                        'format': 'd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'bs_Latn_BA': {
-                    'locale': 'bs_Latn_BA',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy.',
-                        'expectedValue': '17.11.2016.'
-                    }
-                },
-                'ca_ES': {
-                    'locale': 'ca_ES',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'cy_GB': {
-                    'locale': 'cy_GB',
-                    'localeInfo': {
-                        'format': 'dd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'da_DK': {
-                    'locale': 'da_DK',
-                    'localeInfo': {
-                        'format': 'dd/MM/y',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'de_DE': {
-                    'locale': 'de_DE',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'de_CH': {
-                    'locale': 'de_CH',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'de_AT': {
-                    'locale': 'de_AT',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'et_EE': {
-                    'locale': 'et_EE',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'en_AU': {
-                    'locale': 'en_AU',
-                    'localeInfo': {
-                        'format': 'd/MM/y',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'en_CA': {
-                    'locale': 'en_CA',
-                    'localeInfo': {
-                        'format': 'y-MM-dd',
-                        'expectedValue': '2016-11-17'
-                    }
-                },
-                'en_IE': {
-                    'locale': 'en_IE',
-                    'localeInfo': {
-                        'format': 'dd/MM/y',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'en_NZ': {
-                    'locale': 'en_NZ',
-                    'localeInfo': {
-                        'format': 'd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'en_GB': {
-                    'locale': 'en_GB',
-                    'localeInfo': {
-                        'format': 'dd/MM/y',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'en_US': {
-                    'locale': 'en_US',
-                    'localeInfo': {
-                        'format': 'M/d/yy',
-                        'expectedValue': '11/17/2016'
-                    }
-                },
-                'es_AR': {
-                    'locale': 'es_AR',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'es_CL': {
-                    'locale': 'es_CL',
-                    'localeInfo': {
-                        'format': 'dd-MM-yy',
-                        'expectedValue': '17-11-2016'
-                    }
-                },
-                'es_CO': {
-                    'locale': 'es_CO',
-                    'localeInfo': {
-                        'format': 'd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'es_CR': {
-                    'locale': 'es_CR',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'es_ES': {
-                    'locale': 'es_ES',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'es_MX': {
-                    'locale': 'es_MX',
-                    'localeInfo': {
-                        'format': 'dd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'es_PA': {
-                    'locale': 'es_PA',
-                    'localeInfo': {
-                        'format': 'MM/dd/yy',
-                        'expectedValue': '11/17/2016'
-                    }
-                },
-                'es_PE': {
-                    'locale': 'es_PE',
-                    'localeInfo': {
-                        'format': 'd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'es_VE': {
-                    'locale': 'es_VE',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'eu_ES': {
-                    'locale': 'eu_ES',
-                    'localeInfo': {
-                        'format': 'y/MM/dd',
-                        'expectedValue': '2016/11/17'
-                    }
-                },
-                'fil_PH': {
-                    'locale': 'fil_PH',
-                    'localeInfo': {
-                        'format': 'M/d/yy',
-                        'expectedValue': '11/17/2016'
-                    }
-                },
-                'fr_BE': {
-                    'locale': 'fr_BE',
-                    'localeInfo': {
-                        'format': 'd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'fr_CA': {
-                    'locale': 'fr_CA',
-                    'localeInfo': {
-                        'format': 'yy-MM-dd',
-                        'expectedValue': '2016-11-17'
-                    }
-                },
-                'fr_FR': {
-                    'locale': 'fr_FR',
-                    'localeInfo': {
-                        'format': 'dd/MM/y',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'gl_ES': {
-                    'locale': 'gl_ES',
-                    'localeInfo': {
-                        'format': 'dd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'hr_HR': {
-                    'locale': 'hr_HR',
-                    'localeInfo': {
-                        'format': 'dd.MM.y.',
-                        'expectedValue': '17.11.2016.'
-                    }
-                },
-                'it_IT': {
-                    'locale': 'it_IT',
-                    'localeInfo': {
-                        'format': 'dd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'it_CH': {
-                    'locale': 'it_CH',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'sw_KE': {
-                    'locale': 'sw_KE',
-                    'localeInfo': {
-                        'format': 'dd/MM/y',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'lv_LV': {
-                    'locale': 'lv_LV',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'lt_LT': {
-                    'locale': 'lt_LT',
-                    'localeInfo': {
-                        'format': 'y-MM-dd',
-                        'expectedValue': '2016-11-17'
-                    }
-                },
-                'hu_HU': {
-                    'locale': 'hu_HU',
-                    'localeInfo': {
-                        'format': 'y. MM. dd.',
-                        'expectedValue': '2016. 11. 17.'
-                    }
-                },
-                'nl_BE': {
-                    'locale': 'nl_BE',
-                    'localeInfo': {
-                        'format': 'd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'nl_NL': {
-                    'locale': 'nl_NL',
-                    'localeInfo': {
-                        'format': 'dd-MM-yy',
-                        'expectedValue': '17-11-2016'
-                    }
-                },
-                'nb_NO': {
-                    'locale': 'nb_NO',
-                    'localeInfo': {
-                        'format': 'dd.MM.y',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'nn_NO': {
-                    'locale': 'nn_NO',
-                    'localeInfo': {
-                        'format': 'dd.MM.y',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'pl_PL': {
-                    'locale': 'pl_PL',
-                    'localeInfo': {
-                        'format': 'dd.MM.y',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'pt_BR': {
-                    'locale': 'pt_BR',
-                    'localeInfo': {
-                        'format': 'dd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'pt_PT': {
-                    'locale': 'pt_PT',
-                    'localeInfo': {
-                        'format': 'dd/MM/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'ro_RO': {
-                    'locale': 'ro_RO',
-                    'localeInfo': {
-                        'format': 'dd.MM.y',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'sq_AL': {
-                    'locale': 'sq_AL',
-                    'localeInfo': {
-                        'format': 'd.M.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'sk_SK': {
-                    'locale': 'sk_SK',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'sl_SI': {
-                    'locale': 'sl_SI',
-                    'localeInfo': {
-                        'format': 'd. MM. yy',
-                        'expectedValue': '17. 11. 2016'
-                    }
-                },
-                'fi_FI': {
-                    'locale': 'fi_FI',
-                    'localeInfo': {
-                        'format': 'd.M.y',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'sv_SE': {
-                    'locale': 'sv_SE',
-                    'localeInfo': {
-                        'format': 'y-MM-dd',
-                        'expectedValue': '2016-11-17'
-                    }
-                },
-                'vi_VN': {
-                    'locale': 'vi_VN',
-                    'localeInfo': {
-                        'format': 'dd/MM/y',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'tr_TR': {
-                    'locale': 'tr_TR',
-                    'localeInfo': {
-                        'format': 'd.MM.y',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'is_IS': {
-                    'locale': 'is_IS',
-                    'localeInfo': {
-                        'format': 'd.M.y',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'cs_CZ': {
-                    'locale': 'cs_CZ',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'el_GR': {
-                    'locale': 'el_GR',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'be_BY': {
-                    'locale': 'be_BY',
-                    'localeInfo': {
-                        'format': 'd.M.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'bg_BG': {
-                    'locale': 'bg_BG',
-                    'localeInfo': {
-                        'format': 'd.MM.yy г.',
-                        'expectedValue': '17.11.2016 г.'
-                    }
-                },
-                'mk_MK': {
-                    'locale': 'mk_MK',
-                    'localeInfo': {
-                        'format': 'dd.M.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'mn_Cyrl_MN': {
-                    'locale': 'mn_Cyrl_MN',
-                    'localeInfo': {
-                        'format': 'y-MM-dd',
-                        'expectedValue': '2016-11-17'
-                    }
-                },
-                'ru_RU': {
-                    'locale': 'ru_RU',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'sr_Cyrl_RS': {
-                    'locale': 'sr_Cyrl_RS',
-                    'localeInfo': {
-                        'format': 'd.M.yy.',
-                        'expectedValue': '17.11.2016.'
-                    }
-                },
-                'uk_UA': {
-                    'locale': 'uk_UA',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'he_IL': {
-                    'locale': 'he_IL',
-                    'localeInfo': {
-                        'format': 'd.M.y',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'ar_DZ': {
-                    'locale': 'ar_DZ',
-                    'localeInfo': {
-                        'format': 'd‏/M‏/y',
-                        'expectedValue': '17‏/11‏/2016'
-                    }
-                },
-                'ar_KW': {
-                    'locale': 'ar_KW',
-                    'localeInfo': {
-                        'format': 'd‏/M‏/y',
-                        'expectedValue': '17‏/11‏/2016'
-                    }
-                },
-                'ar_MA': {
-                    'locale': 'ar_MA',
-                    'localeInfo': {
-                        'format': 'd‏/M‏/y',
-                        'expectedValue': '17‏/11‏/2016'
-                    }
-                },
-                'ar_SA': {
-                    'locale': 'ar_SA',
-                    'localeInfo': {
-                        'format': 'd‏/M‏/y',
-                        'expectedValue': '17‏/11‏/2016'
-                    }
-                },
-                'ar_EG': {
-                    'locale': 'ar_EG',
-                    'localeInfo': {
-                        'format': 'd‏/M‏/y',
-                        'expectedValue':  '17‏/11‏/2016'
-                    }
-                },
-                'fa_IR': {
-                    'locale': 'fa_IR',
-                    'localeInfo': {
-                        'format': 'y/M/d G',
-                        'expectedValue': '2016/11/17 G'
-                    }
-                },
-                'hi_IN': {
-                    'locale': 'hi_IN',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'bn_BD': {
-                    'locale': 'bn_BD',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'gu_IN': {
-                    'locale': 'gu_IN',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'th_TH': {
-                    'locale': 'th_TH',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'lo_LA': {
-                    'locale': 'lo_LA',
-                    'localeInfo': {
-                        'format': 'd/M/y',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'ka_GE': {
-                    'locale': 'ka_GE',
-                    'localeInfo': {
-                        'format': 'dd.MM.yy',
-                        'expectedValue': '17.11.2016'
-                    }
-                },
-                'km_KH': {
-                    'locale': 'km_KH',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'zh_Hans_CN': {
-                    'locale': 'zh_Hans_CN',
-                    'localeInfo': {
-                        'format': 'yy/M/d',
-                        'expectedValue': '2016/11/17'
-                    }
-                },
-                'zh_Hant_HK': {
-                    'locale': 'zh_Hant_HK',
-                    'localeInfo': {
-                        'format': 'd/M/yy',
-                        'expectedValue': '17/11/2016'
-                    }
-                },
-                'zh_Hant_TW': {
-                    'locale': 'zh_Hant_TW',
-                    'localeInfo': {
-                        'format': 'y/M/d',
-                        'expectedValue': '2016/11/17'
-                    }
-                },
-                'ja_JP': {
-                    'locale': 'ja_JP',
-                    'localeInfo': {
-                        'format': 'y/MM/dd',
-                        'expectedValue': '2016/11/17'
-                    }
-                },
-                'ko_KR': {
-                    'locale': 'ko_KR',
-                    'localeInfo': {
-                        'format': 'yy. M. d.',
-                        'expectedValue': '2016. 11. 17.'
-                    }
-                }
-            };
-
-            for (p in fixture) {
-                if (fixture.hasOwnProperty(p)) {
-                    localeValues = fixture[p];
-                    format = localeValues.localeInfo.format;
-                    expectedValue = localeValues.localeInfo.expectedValue;
-                    momentFormat = model.convertToMomentFormat(format);
-                    dt = moment('2016-11-17');
-                    m = moment(dt, momentFormat);
-
-                    expect(m.format(momentFormat)).toBe(expectedValue);
-                }
-            }
-        });
     });
 });
diff --git a/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind/datepicker.test.js b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind/datepicker.test.js
index a8c06b7b34cc055ce052f73d0a231613f8944f1c..e5f90863ec63071f191b82b0df7fdbba0ac411fa 100644
--- a/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind/datepicker.test.js
+++ b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind/datepicker.test.js
@@ -7,21 +7,32 @@ define([
     'ko',
     'jquery',
     'moment',
+    'mageUtils',
     'Magento_Ui/js/lib/knockout/bindings/datepicker'
-], function (ko, $, moment) {
+], function (ko, $, moment, utils) {
     'use strict';
 
     describe('Datepicker binding', function () {
         var observable,
-            element;
+            element,
+            config;
 
         beforeEach(function () {
             element    = $('<input />');
             observable = ko.observable();
 
+            config = {
+                options : {
+                    dateFormat: 'M/d/yy',
+                    'storeLocale': 'en_US',
+                    'timeFormat': 'h:mm: a'
+                },
+                storage:ko.observable(moment().format('MM/DD/YYYY'))
+            };
+
             $(document.body).append(element);
 
-            ko.applyBindingsToNode(element[0], { datepicker: observable });
+            ko.applyBindingsToNode(element[0], { datepicker: config });
         });
 
         afterEach(function () {
@@ -29,22 +40,18 @@ define([
         });
 
         it('writes picked date\'s value to assigned observable', function () {
-            var openBtn,
-                todayBtn,
-                todayDate,
-                dateFormat,
-                result;
+            var todayDate,
+                momentFormat,
+                result,
+                inputFormat;
 
-            dateFormat  = element.datepicker('option', 'dateFormat');
-            todayDate   = moment().format(dateFormat);
+            inputFormat = 'M/d/yy';
 
-            openBtn  = $('img.ui-datepicker-trigger');
-            todayBtn = $('[data-handler="today"]');
+            momentFormat = utils.convertToMomentFormat(inputFormat);
 
-            openBtn.click();
-            todayBtn.click();
+            todayDate   = moment().format(momentFormat);
 
-            result = moment(observable()).format(dateFormat);
+            result = $('input:last').val();
 
             expect(todayDate).toEqual(result);
         });
diff --git a/dev/tests/js/jasmine/tests/lib/mage/misc.test.js b/dev/tests/js/jasmine/tests/lib/mage/misc.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..a9ea5ed90192fa46e3e223802d872be0a32afba2
--- /dev/null
+++ b/dev/tests/js/jasmine/tests/lib/mage/misc.test.js
@@ -0,0 +1,638 @@
+/**
+ * Copyright © 2016 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+define([
+    'mageUtils',
+    'moment'
+], function (utils, moment) {
+    'use strict';
+
+    describe('mageUtils', function () {
+
+        it('Check convertToMomentFormat function', function () {
+            var format, momentFormat;
+
+            format = 'M/d/yy';
+            momentFormat = 'MM/DD/YYYY';
+            expect(utils.convertToMomentFormat(format)).toBe(momentFormat);
+        });
+
+        it('Check convertToMomentFormat function for all Magento supported locales', function () {
+
+            var fixture,
+            localeValues,
+            format,
+            expectedValue,
+            momentFormat,
+            dt,
+            m,
+            p;
+
+            fixture = {
+                'af_ZA': {
+                    'locale': 'af_ZA',
+                    'localeInfo': {
+                        'format': 'y-MM-dd',
+                        'expectedValue': '2016-11-17'
+                    }
+                },
+                'az_Latn_AZ': {
+                    'locale': 'az_Latn_AZ',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'id_ID': {
+                    'locale': 'id_ID',
+                    'localeInfo': {
+                        'format': 'dd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'ms_Latn_MY': {
+                    'locale': 'ms_Latn_MY',
+                    'localeInfo': {
+                        'format': 'd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'bs_Latn_BA': {
+                    'locale': 'bs_Latn_BA',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy.',
+                        'expectedValue': '17.11.2016.'
+                    }
+                },
+                'ca_ES': {
+                    'locale': 'ca_ES',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'cy_GB': {
+                    'locale': 'cy_GB',
+                    'localeInfo': {
+                        'format': 'dd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'da_DK': {
+                    'locale': 'da_DK',
+                    'localeInfo': {
+                        'format': 'dd/MM/y',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'de_DE': {
+                    'locale': 'de_DE',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'de_CH': {
+                    'locale': 'de_CH',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'de_AT': {
+                    'locale': 'de_AT',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'et_EE': {
+                    'locale': 'et_EE',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'en_AU': {
+                    'locale': 'en_AU',
+                    'localeInfo': {
+                        'format': 'd/MM/y',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'en_CA': {
+                    'locale': 'en_CA',
+                    'localeInfo': {
+                        'format': 'y-MM-dd',
+                        'expectedValue': '2016-11-17'
+                    }
+                },
+                'en_IE': {
+                    'locale': 'en_IE',
+                    'localeInfo': {
+                        'format': 'dd/MM/y',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'en_NZ': {
+                    'locale': 'en_NZ',
+                    'localeInfo': {
+                        'format': 'd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'en_GB': {
+                    'locale': 'en_GB',
+                    'localeInfo': {
+                        'format': 'dd/MM/y',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'en_US': {
+                    'locale': 'en_US',
+                    'localeInfo': {
+                        'format': 'M/d/yy',
+                        'expectedValue': '11/17/2016'
+                    }
+                },
+                'es_AR': {
+                    'locale': 'es_AR',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'es_CL': {
+                    'locale': 'es_CL',
+                    'localeInfo': {
+                        'format': 'dd-MM-yy',
+                        'expectedValue': '17-11-2016'
+                    }
+                },
+                'es_CO': {
+                    'locale': 'es_CO',
+                    'localeInfo': {
+                        'format': 'd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'es_CR': {
+                    'locale': 'es_CR',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'es_ES': {
+                    'locale': 'es_ES',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'es_MX': {
+                    'locale': 'es_MX',
+                    'localeInfo': {
+                        'format': 'dd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'es_PA': {
+                    'locale': 'es_PA',
+                    'localeInfo': {
+                        'format': 'MM/dd/yy',
+                        'expectedValue': '11/17/2016'
+                    }
+                },
+                'es_PE': {
+                    'locale': 'es_PE',
+                    'localeInfo': {
+                        'format': 'd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'es_VE': {
+                    'locale': 'es_VE',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'eu_ES': {
+                    'locale': 'eu_ES',
+                    'localeInfo': {
+                        'format': 'y/MM/dd',
+                        'expectedValue': '2016/11/17'
+                    }
+                },
+                'fil_PH': {
+                    'locale': 'fil_PH',
+                    'localeInfo': {
+                        'format': 'M/d/yy',
+                        'expectedValue': '11/17/2016'
+                    }
+                },
+                'fr_BE': {
+                    'locale': 'fr_BE',
+                    'localeInfo': {
+                        'format': 'd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'fr_CA': {
+                    'locale': 'fr_CA',
+                    'localeInfo': {
+                        'format': 'yy-MM-dd',
+                        'expectedValue': '2016-11-17'
+                    }
+                },
+                'fr_FR': {
+                    'locale': 'fr_FR',
+                    'localeInfo': {
+                        'format': 'dd/MM/y',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'gl_ES': {
+                    'locale': 'gl_ES',
+                    'localeInfo': {
+                        'format': 'dd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'hr_HR': {
+                    'locale': 'hr_HR',
+                    'localeInfo': {
+                        'format': 'dd.MM.y.',
+                        'expectedValue': '17.11.2016.'
+                    }
+                },
+                'it_IT': {
+                    'locale': 'it_IT',
+                    'localeInfo': {
+                        'format': 'dd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'it_CH': {
+                    'locale': 'it_CH',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'sw_KE': {
+                    'locale': 'sw_KE',
+                    'localeInfo': {
+                        'format': 'dd/MM/y',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'lv_LV': {
+                    'locale': 'lv_LV',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'lt_LT': {
+                    'locale': 'lt_LT',
+                    'localeInfo': {
+                        'format': 'y-MM-dd',
+                        'expectedValue': '2016-11-17'
+                    }
+                },
+                'hu_HU': {
+                    'locale': 'hu_HU',
+                    'localeInfo': {
+                        'format': 'y. MM. dd.',
+                        'expectedValue': '2016. 11. 17.'
+                    }
+                },
+                'nl_BE': {
+                    'locale': 'nl_BE',
+                    'localeInfo': {
+                        'format': 'd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'nl_NL': {
+                    'locale': 'nl_NL',
+                    'localeInfo': {
+                        'format': 'dd-MM-yy',
+                        'expectedValue': '17-11-2016'
+                    }
+                },
+                'nb_NO': {
+                    'locale': 'nb_NO',
+                    'localeInfo': {
+                        'format': 'dd.MM.y',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'nn_NO': {
+                    'locale': 'nn_NO',
+                    'localeInfo': {
+                        'format': 'dd.MM.y',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'pl_PL': {
+                    'locale': 'pl_PL',
+                    'localeInfo': {
+                        'format': 'dd.MM.y',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'pt_BR': {
+                    'locale': 'pt_BR',
+                    'localeInfo': {
+                        'format': 'dd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'pt_PT': {
+                    'locale': 'pt_PT',
+                    'localeInfo': {
+                        'format': 'dd/MM/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'ro_RO': {
+                    'locale': 'ro_RO',
+                    'localeInfo': {
+                        'format': 'dd.MM.y',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'sq_AL': {
+                    'locale': 'sq_AL',
+                    'localeInfo': {
+                        'format': 'd.M.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'sk_SK': {
+                    'locale': 'sk_SK',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'sl_SI': {
+                    'locale': 'sl_SI',
+                    'localeInfo': {
+                        'format': 'd. MM. yy',
+                        'expectedValue': '17. 11. 2016'
+                    }
+                },
+                'fi_FI': {
+                    'locale': 'fi_FI',
+                    'localeInfo': {
+                        'format': 'd.M.y',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'sv_SE': {
+                    'locale': 'sv_SE',
+                    'localeInfo': {
+                        'format': 'y-MM-dd',
+                        'expectedValue': '2016-11-17'
+                    }
+                },
+                'vi_VN': {
+                    'locale': 'vi_VN',
+                    'localeInfo': {
+                        'format': 'dd/MM/y',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'tr_TR': {
+                    'locale': 'tr_TR',
+                    'localeInfo': {
+                        'format': 'd.MM.y',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'is_IS': {
+                    'locale': 'is_IS',
+                    'localeInfo': {
+                        'format': 'd.M.y',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'cs_CZ': {
+                    'locale': 'cs_CZ',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'el_GR': {
+                    'locale': 'el_GR',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'be_BY': {
+                    'locale': 'be_BY',
+                    'localeInfo': {
+                        'format': 'd.M.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'bg_BG': {
+                    'locale': 'bg_BG',
+                    'localeInfo': {
+                        'format': 'd.MM.yy г.',
+                        'expectedValue': '17.11.2016 г.'
+                    }
+                },
+                'mk_MK': {
+                    'locale': 'mk_MK',
+                    'localeInfo': {
+                        'format': 'dd.M.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'mn_Cyrl_MN': {
+                    'locale': 'mn_Cyrl_MN',
+                    'localeInfo': {
+                        'format': 'y-MM-dd',
+                        'expectedValue': '2016-11-17'
+                    }
+                },
+                'ru_RU': {
+                    'locale': 'ru_RU',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'sr_Cyrl_RS': {
+                    'locale': 'sr_Cyrl_RS',
+                    'localeInfo': {
+                        'format': 'd.M.yy.',
+                        'expectedValue': '17.11.2016.'
+                    }
+                },
+                'uk_UA': {
+                    'locale': 'uk_UA',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'he_IL': {
+                    'locale': 'he_IL',
+                    'localeInfo': {
+                        'format': 'd.M.y',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'ar_DZ': {
+                    'locale': 'ar_DZ',
+                    'localeInfo': {
+                        'format': 'd‏/M‏/y',
+                        'expectedValue': '17‏/11‏/2016'
+                    }
+                },
+                'ar_KW': {
+                    'locale': 'ar_KW',
+                    'localeInfo': {
+                        'format': 'd‏/M‏/y',
+                        'expectedValue': '17‏/11‏/2016'
+                    }
+                },
+                'ar_MA': {
+                    'locale': 'ar_MA',
+                    'localeInfo': {
+                        'format': 'd‏/M‏/y',
+                        'expectedValue': '17‏/11‏/2016'
+                    }
+                },
+                'ar_SA': {
+                    'locale': 'ar_SA',
+                    'localeInfo': {
+                        'format': 'd‏/M‏/y',
+                        'expectedValue': '17‏/11‏/2016'
+                    }
+                },
+                'ar_EG': {
+                    'locale': 'ar_EG',
+                    'localeInfo': {
+                        'format': 'd‏/M‏/y',
+                        'expectedValue':  '17‏/11‏/2016'
+                    }
+                },
+                'fa_IR': {
+                    'locale': 'fa_IR',
+                    'localeInfo': {
+                        'format': 'y/M/d G',
+                        'expectedValue': '2016/11/17 G'
+                    }
+                },
+                'hi_IN': {
+                    'locale': 'hi_IN',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'bn_BD': {
+                    'locale': 'bn_BD',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'gu_IN': {
+                    'locale': 'gu_IN',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'th_TH': {
+                    'locale': 'th_TH',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'lo_LA': {
+                    'locale': 'lo_LA',
+                    'localeInfo': {
+                        'format': 'd/M/y',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'ka_GE': {
+                    'locale': 'ka_GE',
+                    'localeInfo': {
+                        'format': 'dd.MM.yy',
+                        'expectedValue': '17.11.2016'
+                    }
+                },
+                'km_KH': {
+                    'locale': 'km_KH',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'zh_Hans_CN': {
+                    'locale': 'zh_Hans_CN',
+                    'localeInfo': {
+                        'format': 'yy/M/d',
+                        'expectedValue': '2016/11/17'
+                    }
+                },
+                'zh_Hant_HK': {
+                    'locale': 'zh_Hant_HK',
+                    'localeInfo': {
+                        'format': 'd/M/yy',
+                        'expectedValue': '17/11/2016'
+                    }
+                },
+                'zh_Hant_TW': {
+                    'locale': 'zh_Hant_TW',
+                    'localeInfo': {
+                        'format': 'y/M/d',
+                        'expectedValue': '2016/11/17'
+                    }
+                },
+                'ja_JP': {
+                    'locale': 'ja_JP',
+                    'localeInfo': {
+                        'format': 'y/MM/dd',
+                        'expectedValue': '2016/11/17'
+                    }
+                },
+                'ko_KR': {
+                    'locale': 'ko_KR',
+                    'localeInfo': {
+                        'format': 'yy. M. d.',
+                        'expectedValue': '2016. 11. 17.'
+                    }
+                }
+            };
+
+            for (p in fixture) {
+                if (fixture.hasOwnProperty(p)) {
+                    localeValues = fixture[p];
+                    format = localeValues.localeInfo.format;
+                    expectedValue = localeValues.localeInfo.expectedValue;
+                    momentFormat = utils.convertToMomentFormat(format);
+                    dt = moment('2016-11-17');
+                    m = moment(dt, momentFormat);
+
+                    expect(m.format(momentFormat)).toBe(expectedValue);
+                }
+            }
+        });
+    });
+});
diff --git a/lib/web/mage/utils/misc.js b/lib/web/mage/utils/misc.js
index c6440b8929395419053ab53961f5fcc231ab7eee..29fed485f290c86f92099fc6cba68734711980d2 100644
--- a/lib/web/mage/utils/misc.js
+++ b/lib/web/mage/utils/misc.js
@@ -207,6 +207,22 @@ define([
             }
 
             return formData;
+        },
+
+        /**
+         * Converts PHP IntlFormatter format to moment format.
+         *
+         * @param {String} format - PHP format
+         * @returns {String} - moment compatible formatting
+         */
+        convertToMomentFormat: function (format) {
+            var newFormat;
+
+            newFormat = format.replace(/yy|y/gi, 'YYYY'); // replace the year
+            newFormat = newFormat.replace(/dd|d/g, 'DD'); // replace the date
+            newFormat = newFormat.replace(/mm|m/gi, 'MM'); //replace the month
+
+            return newFormat;
         }
     };
 });