diff options
Diffstat (limited to 'apps/plugins/clock/clock_draw_digital.c')
-rw-r--r-- | apps/plugins/clock/clock_draw_digital.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/apps/plugins/clock/clock_draw_digital.c b/apps/plugins/clock/clock_draw_digital.c index 9fff47c520..07864c1cec 100644 --- a/apps/plugins/clock/clock_draw_digital.c +++ b/apps/plugins/clock/clock_draw_digital.c | |||
@@ -48,18 +48,19 @@ void digital_clock_draw(struct screen* display, | |||
48 | else | 48 | else |
49 | display_colon=true; | 49 | display_colon=true; |
50 | 50 | ||
51 | if(settings->general.hour_format==H12){/* AM/PM format */ | 51 | if(settings->general.hour_format==H12 && time->hour>12)/* AM/PM format */ |
52 | if(hour>12){ | 52 | hour -= 12; |
53 | buffer_printf(buffer, buffer_pos, "P");/* AM */ | 53 | |
54 | /* readjust the hour to 12-hour format | ||
55 | * ( 13:00+ -> 1:00+ ) */ | ||
56 | hour -= 12; | ||
57 | }else | ||
58 | buffer_printf(buffer, buffer_pos, "A");/* AM */ | ||
59 | } | ||
60 | buffer_printf(buffer, buffer_pos, "%02d", hour); | 54 | buffer_printf(buffer, buffer_pos, "%02d", hour); |
61 | buffer_printf(buffer, buffer_pos, "%c", display_colon?':':' '); | 55 | buffer_printf(buffer, buffer_pos, "%c", display_colon?':':' '); |
62 | buffer_printf(buffer, buffer_pos, "%02d", time->minute); | 56 | buffer_printf(buffer, buffer_pos, "%02d", time->minute); |
57 | if(settings->general.hour_format==H12){ | ||
58 | if(time->hour>12){ | ||
59 | buffer_printf(buffer, buffer_pos, "P");/* PM */ | ||
60 | }else{ | ||
61 | buffer_printf(buffer, buffer_pos, "A");/* AM */ | ||
62 | } | ||
63 | } | ||
63 | getstringsize(digits_bitmaps, buffer, &str_w, &str_h); | 64 | getstringsize(digits_bitmaps, buffer, &str_w, &str_h); |
64 | draw_string(display, digits_bitmaps, buffer, (display->width-str_w)/2, 0); | 65 | draw_string(display, digits_bitmaps, buffer, (display->width-str_w)/2, 0); |
65 | if(settings->digital.show_seconds){ | 66 | if(settings->digital.show_seconds){ |