KAlarm seems to read only localization variable LANG, and ignoring LC_TIME. This results in dates not showing according to user settings. Example in US 5/9/2014, is 9.5.2014 in Finland. KAlarm version is 2.10.7-ak (that option is not in version menu).
Are you using the KDE desktop? If so, it should use the time format set in System Settings. If not, which desktop are you using?
No I'm using XFCE. Where does KDE save system settings regarding to language, time format, etc? I would expect it to use localization variables as it is normal Unix way (and that is where XFCE puts them [and all other desktops I have used]). $ locale LANG=en_US.UTF-8 LANGUAGE=en LC_CTYPE="en_US.UTF-8" LC_NUMERIC=fi_FI.UTF-8 LC_TIME=fi_FI.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=fi_FI.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=fi_FI.UTF-8 LC_NAME=fi_FI.UTF-8 LC_ADDRESS=fi_FI.UTF-8 LC_TELEPHONE=fi_FI.UTF-8 LC_MEASUREMENT=fi_FI.UTF-8 LC_IDENTIFICATION=fi_FI.UTF-8 LC_ALL=
KDE stores its settings in its own config files (in ~/.kde/share/config). I'm not sure what happens when a KDE program runs in another desktop - it still gets global settings from the global KDE configuration classes, but it looks as if those classes may not pick up system defaults if not running under KDE. I'll have to investigate this.
Under Plasma from master, this does not seem reproducible. I'll test later under a different DE. Steps to reproduce: 1. LC_TIME=en_US.UTF-8 kalarm 2. File > New > New Display Alarm 3. Notice the PM field. PM only appears in languages following the 12-hour convention. 4. LC_TIME=pt_BR.UTF-8 kalarm 5. File > New > New Display Alarm 6. The PM field is gone, as Brazilian Portuguese follows the 24-hour convention.
Testing on the latest Plasma, I also see the displayed time formats changing according to the LC_TIME setting. It looks as if this bug has now been fixed in the KDE libraries.