[tracker] libtracker-common: Always generate UTC time strings
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Subject: [tracker] libtracker-common: Always generate UTC time strings
- Date: Mon, 13 Jul 2009 10:39:03 +0000 (UTC)
commit 88403a3a0bb5b655de417faba3bbf7fb0af3d5c7
Author: Jürg Billeter <j bitron ch>
Date: Mon Jul 13 12:36:21 2009 +0200
libtracker-common: Always generate UTC time strings
src/libtracker-common/tracker-type-utils.c | 10 +++++-----
src/libtracker-data/tracker-sparql-query.vala | 8 ++++----
tests/libtracker-common/tracker-type-utils-test.c | 6 +++---
3 files changed, 12 insertions(+), 12 deletions(-)
---
diff --git a/src/libtracker-common/tracker-type-utils.c b/src/libtracker-common/tracker-type-utils.c
index d98fea9..433727a 100644
--- a/src/libtracker-common/tracker-type-utils.c
+++ b/src/libtracker-common/tracker-type-utils.c
@@ -478,16 +478,16 @@ gchar *
tracker_date_to_string (time_t date_time)
{
gchar buffer[30];
- struct tm local_time;
+ struct tm utc_time;
size_t count;
memset (buffer, '\0', sizeof (buffer));
- memset (&local_time, 0, sizeof (struct tm));
+ memset (&utc_time, 0, sizeof (struct tm));
- localtime_r (&date_time, &local_time);
+ gmtime_r (&date_time, &utc_time);
- /* Output is ISO 8160 format : "YYYY-MM-DDThh:mm:ss+zz:zz" */
- count = strftime (buffer, sizeof (buffer), "%FT%T%z", &local_time);
+ /* Output is ISO 8160 format : "YYYY-MM-DDThh:mm:ssZ" */
+ count = strftime (buffer, sizeof (buffer), "%FT%TZ", &utc_time);
return count > 0 ? g_strdup (buffer) : NULL;
}
diff --git a/src/libtracker-data/tracker-sparql-query.vala b/src/libtracker-data/tracker-sparql-query.vala
index d29e1f9..52ef798 100644
--- a/src/libtracker-data/tracker-sparql-query.vala
+++ b/src/libtracker-data/tracker-sparql-query.vala
@@ -104,7 +104,7 @@ public class Tracker.SparqlQuery : Object {
} else if (prop.data_type == PropertyType.BOOLEAN) {
sql.append_printf ("CASE \"%s\" WHEN 1 THEN 'true' WHEN 0 THEN 'false' ELSE NULL END", prop.name);
} else if (prop.data_type == PropertyType.DATETIME) {
- sql.append_printf ("strftime (\"%%Y-%%m-%%dT%%H:%%M:%%S\", \"%s\", \"unixepoch\")", prop.name);
+ sql.append_printf ("strftime (\"%%Y-%%m-%%dT%%H:%%M:%%SZ\", \"%s\", \"unixepoch\")", prop.name);
} else {
sql.append_printf ("\"%s\"", prop.name);
}
@@ -156,7 +156,7 @@ public class Tracker.SparqlQuery : Object {
} else if (prop.data_type == PropertyType.BOOLEAN) {
sql.append_printf ("CASE \"%s\" WHEN 1 THEN 'true' WHEN 0 THEN 'false' ELSE NULL END", prop.name);
} else if (prop.data_type == PropertyType.DATETIME) {
- sql.append_printf ("strftime (\"%%Y-%%m-%%dT%%H:%%M:%%S\", \"%s\", \"unixepoch\")", prop.name);
+ sql.append_printf ("strftime (\"%%Y-%%m-%%dT%%H:%%M:%%SZ\", \"%s\", \"unixepoch\")", prop.name);
} else {
sql.append_printf ("\"%s\"", prop.name);
}
@@ -193,7 +193,7 @@ public class Tracker.SparqlQuery : Object {
} else if (prop.data_type == PropertyType.BOOLEAN) {
sql.append_printf ("CASE \"%s\" WHEN 1 THEN 'true' WHEN 0 THEN 'false' ELSE NULL END", prop.name);
} else if (prop.data_type == PropertyType.DATETIME) {
- sql.append_printf ("strftime (\"%%Y-%%m-%%dT%%H:%%M:%%S\", \"%s\", \"unixepoch\")", prop.name);
+ sql.append_printf ("strftime (\"%%Y-%%m-%%dT%%H:%%M:%%SZ\", \"%s\", \"unixepoch\")", prop.name);
} else {
sql.append_printf ("\"%s\"", prop.name);
}
@@ -377,7 +377,7 @@ public class Tracker.SparqlQuery : Object {
} else if (binding.is_boolean) {
return "(CASE \"%s_u\" WHEN 1 THEN 'true' WHEN 0 THEN 'false' ELSE NULL END)".printf (variable_name);
} else if (binding.is_datetime) {
- return "strftime (\"%%Y-%%m-%%dT%%H:%%M:%%S\", \"%s_u\", \"unixepoch\")".printf (variable_name);
+ return "strftime (\"%%Y-%%m-%%dT%%H:%%M:%%SZ\", \"%s_u\", \"unixepoch\")".printf (variable_name);
} else {
return "\"%s_u\"".printf (variable_name);
}
diff --git a/tests/libtracker-common/tracker-type-utils-test.c b/tests/libtracker-common/tracker-type-utils-test.c
index 24a20ae..eb56fe7 100644
--- a/tests/libtracker-common/tracker-type-utils-test.c
+++ b/tests/libtracker-common/tracker-type-utils-test.c
@@ -118,13 +118,13 @@ test_date_to_string (void)
original->tm_mday = 16;
original->tm_mon = 5;
original->tm_year = 108;
- original->tm_isdst = 1;
+ original->tm_isdst = 0;
- input = mktime (original);
+ input = mktime (original) - timezone;
result = tracker_date_to_string (input);
- g_assert (result != NULL && strncmp (result, "2008-06-16T23:53:10", 19) == 0);
+ g_assert (result != NULL && strncmp (result, "2008-06-16T23:53:10Z", 19) == 0);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]