Merge commit 'upstream/0.2.5'
[debian/pino.git] / src / vapi / time_parser.c
1 /* time_parser.c
2  *
3  * Copyright (C) 2007-2008 Daniel Morales <daniminas@gmail.com>
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License as
7  * published by the Free Software Foundation; either version 2 of the
8  * License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
18  * Boston, MA 02110-1301, USA.
19  *
20  * Authors: Daniel Morales <daniminas@gmail.com>
21  *
22  */
23
24 /** It was taken from twitux and modofied by me (troorl@gmail.com) */
25
26 #include "time_parser.h"
27
28 int time_to_diff(const gchar *datetime)
29 {
30         struct tm       *ta;
31         struct tm        post;
32         int                      seconds_local;
33         int                      seconds_post;
34         int              diff;
35         time_t           t = time(NULL);
36
37         tzset();
38
39         ta = gmtime(&t);
40         ta->tm_isdst = -1;
41         seconds_local = mktime(ta);
42
43         strptime(datetime, "%a %b %d %T +0000 %Y", &post);
44         post.tm_isdst = -1;
45         seconds_post =  mktime(&post);
46
47         diff = difftime(seconds_local, seconds_post);
48         
49         return diff;
50 }