Skip to content

Instantly share code, notes, and snippets.

@steveosoule
Last active February 27, 2024 18:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save steveosoule/00bf432ec94cd92a5d910a2f4dfd6ff5 to your computer and use it in GitHub Desktop.
Save steveosoule/00bf432ec94cd92a5d910a2f4dfd6ff5 to your computer and use it in GitHub Desktop.
Miva - User Friendly Date & Time with AM/PM (ex MM/DD/YYYY HH:MM AM/PM)

Miva - User Friendly Date & Time with AM/PM

The following code snippet will output a date with a format like this pattern:

MM/DD/YYYY HH:MM (AM/PM)

For example:

5/31/2023 1:15 PM

Links to Example Outputs:

Usage:

Use the following snippet and just change the line for:

<mvt:assign name="l.settings:date:time_t" value="ternary(g.time_t GT 0, int(g.time_t), s.time_t)" />

to match your timestamp use-case. For Example:

<mvt:assign name="l.settings:date:time_t" value="l.settings:order:orderdate" />
<mvt:comment>
<!--
Determine Timestamp & Timezone
-->
</mvt:comment>
<mvt:assign name="l.settings:date:time_t" value="ternary(g.time_t GT 0, int(g.time_t), s.time_t)" />
<mvt:assign name="l.settings:date:timezone_offset" value="'local'" />
<mvt:comment><!-- <mvt:assign name="l.settings:date:timezone_offset" value="'-4'" /> --></mvt:comment>
<mvt:comment>
<!--
Determine Date Parts
-->
</mvt:comment>
<mvt:assign name="l.settings:date:year" value="time_t_year( l.settings:date:time_t, l.settings:date:timezone_offset )" />
<mvt:assign name="l.settings:date:month" value="time_t_month( l.settings:date:time_t, l.settings:date:timezone_offset )" />
<mvt:assign name="l.settings:date:day" value="time_t_dayofmonth( l.settings:date:time_t, l.settings:date:timezone_offset )" />
<mvt:assign name="l.settings:date:24hour" value="time_t_hour( l.settings:date:time_t, l.settings:date:timezone_offset )" />
<mvt:assign name="l.settings:date:12hour" value="ternary(l.settings:date:24hour GT 12, l.settings:date:24hour - 12, l.settings:date:24hour)" />
<mvt:assign name="l.settings:date:meridiem_label" value="ternary(l.settings:date:24hour GT 11, 'PM', 'AM')" />
<mvt:assign name="l.settings:date:min" value="padl(time_t_min( l.settings:date:time_t, l.settings:date:timezone_offset ), 2, 0)" />
<mvt:comment>
<!--
Determine Date Format
-->
</mvt:comment>
<mvt:capture variable="l.settings:date:formatted">&mvte:date:month;/&mvte:date:day;/&mvte:date:year; &mvte:date:12hour;:&mvt:date:min; &mvte:date:meridiem_label;</mvt:capture>
<mvt:comment>
<!--
Output the Formatted Date
-->
</mvt:comment>
&mvte:date:formatted;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment