diff --git a/ayanova/src/components/date-time-control.vue b/ayanova/src/components/date-time-control.vue index d434675a..8dd712d0 100644 --- a/ayanova/src/components/date-time-control.vue +++ b/ayanova/src/components/date-time-control.vue @@ -55,6 +55,7 @@ ref="theTimePicker" scrollable ampm-in-title + :format="ampmFormat" v-model="timeOnly" > @@ -103,7 +104,8 @@ export default { oldDate: null, dlgdate: false, dlgtime: false, - defaultLocale: window.$gz.locale.getFirstBrowserLanguage().split("-", 1)[0] + defaultLocale: window.$gz.locale.getFirstBrowserLanguage().split("-", 1)[0], + ampmFormat: window.$gz.locale.format().hour12 ? "ampm" : "24hr" }), props: { label: String, diff --git a/ayanova/src/components/gz-data-table.vue b/ayanova/src/components/gz-data-table.vue index 5c3a5161..3104997d 100644 --- a/ayanova/src/components/gz-data-table.vue +++ b/ayanova/src/components/gz-data-table.vue @@ -445,7 +445,7 @@ function buildRecords(listData, columndefinitions, filters) { var display = column.v; switch (dataType) { case 1: //datetime format to shortdatetime - display = filters.shortdatelocalized(display); + display = filters.shortdateandtimelocalized(display); break; case 2: //date only display = filters.shortdateonlylocalized(display); diff --git a/ayanova/src/main.js b/ayanova/src/main.js index 68b864dd..2f90878e 100644 --- a/ayanova/src/main.js +++ b/ayanova/src/main.js @@ -148,21 +148,26 @@ Vue.filter("capitalize", function vueFilterCapitalize(value) { }); //Convert date to offset value and return as short date time based on browser format -Vue.filter("shortdatelocalized", function vueFilterShortDateAndTimeLocalized( - value -) { - if (!value) return ""; +Vue.filter( + "shortdateandtimelocalized", + function vueFilterShortDateAndTimeLocalized(value) { + if (!value) return ""; - var localizedDate = dayjs - .utc(value) - .add(locale.format().timeZoneOffset, "hour") - .toDate(); - return localizedDate.toLocaleString(undefined, { - dateStyle: "short", - timeStyle: "short", - hour12: locale.format().hour12 - }); -}); + var localizedDate = dayjs + .utc(value) + .add(locale.format().timeZoneOffset, "hour") + .toDate(); + + return localizedDate.toLocaleString( + window.$gz.locale.getFirstBrowserLanguage(), + { + dateStyle: "short", + timeStyle: "short", + hour12: locale.format().hour12 + } + ); + } +); //Convert date to localized value and return as short date format chosen Vue.filter("shortdateonlylocalized", function vueFilterShortDateOnlyLocalized( @@ -170,11 +175,17 @@ Vue.filter("shortdateonlylocalized", function vueFilterShortDateOnlyLocalized( ) { //TODO NOT DONE if (!value) return ""; - - return dayjs + var localizedDate = dayjs .utc(value) .add(locale.format().timeZoneOffset, "hour") - .format(locale.format().shortDateAndTime); + .toDate(); + + return localizedDate.toLocaleDateString( + window.$gz.locale.getFirstBrowserLanguage(), + { + dateStyle: "short" + } + ); }); //Convert date to localized value and return as short date format chosen @@ -185,10 +196,18 @@ Vue.filter("shorttimeonlylocalized", function vueFilterShortTimeOnlyLocalized( if (!value) return ""; //new Date().toLocaleString(undefined,{dateStyle:"short",timeStyle:"short",hour12:false}) //also toLocaleDateString and toLocaleTimeString well supported use similar options - return dayjs + var localizedDate = dayjs .utc(value) .add(locale.format().timeZoneOffset, "hour") - .format(locale.format().shortDateAndTime); + .toDate(); + + return localizedDate.toLocaleTimeString( + window.$gz.locale.getFirstBrowserLanguage(), + { + timeStyle: "short", + hour12: locale.format().hour12 + } + ); }); Vue.filter("currency", function vueFilterCurrency(value) { diff --git a/ayanova/src/views/ay-about.vue b/ayanova/src/views/ay-about.vue index e8fb5524..0b63426c 100644 --- a/ayanova/src/views/ay-about.vue +++ b/ayanova/src/views/ay-about.vue @@ -25,9 +25,9 @@
- {{ lt("Language") }}: + 12h: - {{ ltFormat().tag }} + {{ ltFormat().hour12 }}
@@ -48,7 +48,7 @@ {{ ltFormat().currencySymbol }} -
+ {{ lt("Browser") }}