Index: gnome-panel-2.26.2/applets/clock/clock-location-tile.c
===================================================================
--- gnome-panel-2.26.2.orig/applets/clock/clock-location-tile.c	2009-06-24 21:32:34.208325481 -0400
+++ gnome-panel-2.26.2/applets/clock/clock-location-tile.c	2009-06-24 21:32:48.115301682 -0400
@@ -505,6 +505,24 @@
 	return utf8;
 }
 
+static char *
+convert_time_to_str (time_t now, ClockFormat clock_format)
+{
+	gchar *format;
+	struct tm *tm;
+	gchar buf[128];
+
+	if (clock_format == CLOCK_FORMAT_12)
+		format = _("%l:%M %p");
+	else
+		format = _("%H:%M");
+
+	tm = localtime (&now);
+	strftime (buf, sizeof (buf) - 1, format, tm);
+
+	return g_locale_to_utf8 (buf, -1, NULL, NULL, NULL);
+}
+
 void
 clock_location_tile_refresh (ClockLocationTile *this, gboolean force_refresh)
 {
@@ -560,7 +578,8 @@
 }
 
 void
-weather_info_setup_tooltip (WeatherInfo *info, ClockLocation *location, GtkTooltip *tooltip)
+weather_info_setup_tooltip (WeatherInfo *info, ClockLocation *location, GtkTooltip *tooltip,
+			    ClockFormat clock_format)
 {
         GdkPixbuf *pixbuf = NULL;
         GtkIconTheme *theme = NULL;
@@ -569,6 +588,8 @@
 	gchar *line1, *line2, *line3, *line4, *tip;
 	const gchar *icon_name;
 	const gchar *sys_timezone;
+	time_t sunrise_time, sunset_time;
+	gchar *sunrise_str, *sunset_str;
 
        	icon_name = weather_info_get_icon_name (info);
         theme = gtk_icon_theme_get_default ();
@@ -603,15 +624,21 @@
 	else
 		line3 = g_strdup ("");
 
-	/* FIXME: we need libgweather to give us the time,
-	 * not just a formatted string
-	 */
 	sys_timezone = getenv ("TZ");
 	setenv ("TZ", clock_location_get_timezone (location), 1);
 	tzset ();
+	if (weather_info_get_value_sunrise (info, &sunrise_time))
+		sunrise_str = convert_time_to_str (sunrise_time, clock_format);
+	else
+		sunrise_str = g_strdup ("???");
+	if (weather_info_get_value_sunset (info, &sunset_time))
+		sunset_str = convert_time_to_str (sunset_time, clock_format);
+	else
+		sunset_str = g_strdup ("???");
 	line4 = g_strdup_printf (_("Sunrise: %s / Sunset: %s"),
-				 weather_info_get_sunrise (info),
-				 weather_info_get_sunset (info));
+				 sunrise_str, sunset_str);
+	g_free (sunrise_str);
+	g_free (sunset_str);
 	if (sys_timezone)
 		setenv ("TZ", sys_timezone, 1);
 	else
@@ -638,13 +665,16 @@
         ClockLocationTile *tile = data;
         ClockLocationTilePrivate *priv = PRIVATE (tile);
 	WeatherInfo *info;
+	int clock_format;
 
 	info = clock_location_get_weather_info (priv->location);
 
 	if (!info || !weather_info_is_valid (info))
 		return FALSE;
 
-	weather_info_setup_tooltip (info, priv->location, tooltip);
+	g_signal_emit (tile, signals[NEED_CLOCK_FORMAT], 0, &clock_format);
+
+	weather_info_setup_tooltip (info, priv->location, tooltip, clock_format);
 
 	return TRUE;
 }
Index: gnome-panel-2.26.2/applets/clock/clock-location-tile.h
===================================================================
--- gnome-panel-2.26.2.orig/applets/clock/clock-location-tile.h	2009-06-24 21:32:34.104302260 -0400
+++ gnome-panel-2.26.2/applets/clock/clock-location-tile.h	2009-06-24 21:33:23.340797334 -0400
@@ -6,6 +6,7 @@
 #include "clock.h"
 #include "clock-face.h"
 #include "clock-location.h"
+#include "clock-utils.h"
 
 G_BEGIN_DECLS
 
@@ -36,7 +37,8 @@
 
 ClockLocation *clock_location_tile_get_location (ClockLocationTile *this);
 
-void weather_info_setup_tooltip (WeatherInfo *info, ClockLocation *location, GtkTooltip *tip);
+void weather_info_setup_tooltip (WeatherInfo *info, ClockLocation *location, GtkTooltip *tip,
+				 ClockFormat clock_format);
 
 void clock_location_tile_refresh (ClockLocationTile *this,
                                   gboolean           force_refresh);
Index: gnome-panel-2.26.2/applets/clock/clock.c
===================================================================
--- gnome-panel-2.26.2.orig/applets/clock/clock.c	2009-06-24 21:32:34.360274218 -0400
+++ gnome-panel-2.26.2/applets/clock/clock.c	2009-06-24 21:32:48.115301682 -0400
@@ -1367,7 +1367,7 @@
                         if (!info || !weather_info_is_valid (info))
                                 continue;
 
-                        weather_info_setup_tooltip (info, location, tooltip);
+                        weather_info_setup_tooltip (info, location, tooltip, cd->format);
 
                         return TRUE;
                 }
