I honestly have no idea what your second post meant, but I'll try my best at simplifying this for you.

Traditional UNIX kernels only know time as seconds passed since the UNIX epoch, internally the clock is set to UTC time, it is functions within the C library that convert time into your preferred timezone.. and format it into something more human readable (..not a scary integer).

If you're asking about the date(1) program, it allows you to specify custom formatting desires.. passing parameters onto a helpful little function in the C library, strftime(3).

The following demonstrates 12 hour time, in the format of hour:minutes:seconds and AM/PM notation.

$date "+%r"

The '%r' option is standardized by POSIX, it is the equivalent of '%I:%M:%S %p'.

Is this adequate enough? or are you asking how to configure a desktop environment like GNOME or KDE to use 12 hour time?