/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
 * Time utility functions
 *
 * Author:
 *   Damon Chaplin (damon@ximian.com)
 *
 * (C) 2001 Ximian, Inc.
 */

#ifndef E_TIME_UTILS
#define E_TIME_UTILS

#include <time.h>
#include <glib.h>

typedef enum {
	E_TIME_PARSE_OK,
	E_TIME_PARSE_NONE,
	E_TIME_PARSE_INVALID
} ETimeParseStatus;

/* Tries to parse a string containing a date and time. */
ETimeParseStatus e_time_parse_date_and_time	(const char	*value,
						 struct tm	*result);

/* Tries to parse a string containing a date. */
ETimeParseStatus e_time_parse_date		(const char	*value,
						 struct tm	*result);

/* Tries to parse a string containing a time. */
ETimeParseStatus e_time_parse_time		(const char	*value,
						 struct tm	*result);

/* Turns a struct tm into a string like "Wed  3/12/00 12:00:00 AM". */
void e_time_format_date_and_time		(struct tm	*date_tm,
						 gboolean	 use_24_hour_format,
						 gboolean	 show_midnight,
						 gboolean	 show_zero_seconds,
						 char		*buffer,
						 int		 buffer_size);

/* Formats a time from a struct tm, e.g. "01:59 PM". */
void e_time_format_time				(struct tm	*date_tm,
						 gboolean	 use_24_hour_format,
						 gboolean	 show_zero_seconds,
						 char		*buffer,
						 int		 buffer_size);


/* Like mktime(3), but assumes UTC instead of local timezone. */
time_t e_mktime_utc (struct tm *timeptr);

/* Like localtime_r(3), but also returns an offset in minutes after UTC.
   (Calling gmtime with tt + offset would generate the same tm) */
void e_localtime_with_offset (time_t tt, struct tm *tm, int *offset);

#endif /* E_TIME_UTILS */
pendabot/npm_and_yarn/devel/electron4/files/bl-1.2.3</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.3</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.4</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/ini-1.3.7'>dependabot/npm_and_yarn/devel/electron4/files/ini-1.3.7</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19' selected='selected'>dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2'>dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2</option>
<option value='gnome-3.22'>gnome-3.22</option>
<option value='gnome-3.24'>gnome-3.24</option>
<option value='gnome-3.26'>gnome-3.26</option>
<option value='gnome-3.28'>gnome-3.28</option>
<option value='gnome-3.32'>gnome-3.32</option>
<option value='gnome-3.36'>gnome-3.36</option>
<option value='gstreamer'>gstreamer</option>
<option value='gstreamer-1.16'>gstreamer-1.16</option>
<option value='gstreamer0.10-removal'>gstreamer0.10-removal</option>
<option value='main'>main</option>
<option value='master'>master</option>
<option value='mate-1.16'>mate-1.16</option>
<option value='mate-1.18'>mate-1.18</option>
<option value='mate-1.20'>mate-1.20</option>
<option value='mate-1.22'>mate-1.22</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/~lantw44/cgit/freebsd-ports-gnome/about/?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19'>about</a><a href='/~lantw44/cgit/freebsd-ports-gnome/?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19'>summary</a><a href='/~lantw44/cgit/freebsd-ports-gnome/refs/?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=12c877493b9547292d062cb962dee5066195e6a5'>refs</a><a class='active' href='/~lantw44/cgit/freebsd-ports-gnome/log/finance/mybudget?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19'>log</a><a href='/~lantw44/cgit/freebsd-ports-gnome/tree/finance/mybudget?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=12c877493b9547292d062cb962dee5066195e6a5'>tree</a><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/finance/mybudget?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=12c877493b9547292d062cb962dee5066195e6a5'>commit</a><a href='/~lantw44/cgit/freebsd-ports-gnome/diff/finance/mybudget?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=12c877493b9547292d062cb962dee5066195e6a5'>diff</a><a href='/~lantw44/cgit/freebsd-ports-gnome/stats/finance/mybudget?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/freebsd-ports-gnome/log/finance/mybudget'>
<input type='hidden' name='h' value='dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19'/><input type='hidden' name='id' value='12c877493b9547292d062cb962dee5066195e6a5'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/~lantw44/cgit/freebsd-ports-gnome/log/?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=12c877493b9547292d062cb962dee5066195e6a5'>root</a>/<a href='/~lantw44/cgit/freebsd-ports-gnome/log/finance?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=12c877493b9547292d062cb962dee5066195e6a5'>finance</a>/<a href='/~lantw44/cgit/freebsd-ports-gnome/log/finance/mybudget?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=12c877493b9547292d062cb962dee5066195e6a5'>mybudget</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/freebsd-ports-gnome/log/finance/mybudget?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=12c877493b9547292d062cb962dee5066195e6a5&amp;showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/finance/mybudget?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=f784732904d96a0c36eba401ab63ddbc18b40d22'>mybudget is not compatible with python3</a></td><td>antoine</td><td><span title='2017-12-09 17:31:04 +0800'>2017-12-09</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/finance/mybudget?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=bccf5f7344b7ceb9496b27e3286275e190363b82'>- Add LICENSE_FILE</a></td><td>amdmi3</td><td><span title='2015-12-04 01:26:06 +0800'>2015-12-04</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+3</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/finance/mybudget?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=303e73dabd702e19dae0638e402b7adedc2e63d0'>Switch default python_CMD used by shebangfix to ${PYTHON_CMD} for ports</a></td><td>antoine</td><td><span title='2015-07-30 06:09:53 +0800'>2015-07-30</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+0</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/finance/mybudget?h=dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19&amp;id=44de2b2ff618b99ff180b669399b8fb3cc2dec82'>Cleanup plist</a></td><td>bapt</td><td><span title='2014-10-27 20:39:32 +0800'>2014-10-27</span></td><td>1</td><td><span class='deletions'>-5</span>/<span class='insertions'>+0</span></td></tr>