mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-15 04:05:11 +01:00
Add functions to set a date from a time_t and from a GTimeVal.
2005-11-17 Matthias Clasen <mclasen@redhat.com> * glib/glib.symbols: * glib/gdate.h: * glib/gdate.c (g_date_set_time_t): (g_date_set_time_val): Add functions to set a date from a time_t and from a GTimeVal. (g_date_set_time): Deprecate. (#314067, Roger Leigh)
This commit is contained in:
parent
1ee0917984
commit
9f90f2f23e
@ -1,5 +1,12 @@
|
|||||||
2005-11-17 Matthias Clasen <mclasen@redhat.com>
|
2005-11-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* glib/glib.symbols:
|
||||||
|
* glib/gdate.h:
|
||||||
|
* glib/gdate.c (g_date_set_time_t):
|
||||||
|
(g_date_set_time_val): Add functions to set a date from
|
||||||
|
a time_t and from a GTimeVal.
|
||||||
|
(g_date_set_time): Deprecate. (#314067, Roger Leigh)
|
||||||
|
|
||||||
* tests/Makefile.am:
|
* tests/Makefile.am:
|
||||||
* tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
|
* tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
|
||||||
and g_utf8_offset_to_pointer.
|
and g_utf8_offset_to_pointer.
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
2005-11-17 Matthias Clasen <mclasen@redhat.com>
|
2005-11-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* glib/glib.symbols:
|
||||||
|
* glib/gdate.h:
|
||||||
|
* glib/gdate.c (g_date_set_time_t):
|
||||||
|
(g_date_set_time_val): Add functions to set a date from
|
||||||
|
a time_t and from a GTimeVal.
|
||||||
|
(g_date_set_time): Deprecate. (#314067, Roger Leigh)
|
||||||
|
|
||||||
* tests/Makefile.am:
|
* tests/Makefile.am:
|
||||||
* tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
|
* tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
|
||||||
and g_utf8_offset_to_pointer.
|
and g_utf8_offset_to_pointer.
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
2005-11-17 Matthias Clasen <mclasen@redhat.com>
|
2005-11-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* glib/glib.symbols:
|
||||||
|
* glib/gdate.h:
|
||||||
|
* glib/gdate.c (g_date_set_time_t):
|
||||||
|
(g_date_set_time_val): Add functions to set a date from
|
||||||
|
a time_t and from a GTimeVal.
|
||||||
|
(g_date_set_time): Deprecate. (#314067, Roger Leigh)
|
||||||
|
|
||||||
* tests/Makefile.am:
|
* tests/Makefile.am:
|
||||||
* tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
|
* tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
|
||||||
and g_utf8_offset_to_pointer.
|
and g_utf8_offset_to_pointer.
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2005-11-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* glib/tmpl/date.sgml:
|
||||||
|
* glib/glib-sections.txt: Add g_date_set_time_t,
|
||||||
|
g_date_set_time_val.
|
||||||
|
|
||||||
2005-11-08 Matthias Clasen <mclasen@redhat.com>
|
2005-11-08 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* glib/tmpl/threads.sgml: Improve GOnce docs.
|
* glib/tmpl/threads.sgml: Improve GOnce docs.
|
||||||
|
@ -1171,6 +1171,8 @@ g_date_set_year
|
|||||||
g_date_set_dmy
|
g_date_set_dmy
|
||||||
g_date_set_julian
|
g_date_set_julian
|
||||||
g_date_set_time
|
g_date_set_time
|
||||||
|
g_date_set_time_t
|
||||||
|
g_date_set_time_val
|
||||||
g_date_set_parse
|
g_date_set_parse
|
||||||
|
|
||||||
<SUBSECTION>
|
<SUBSECTION>
|
||||||
|
@ -136,9 +136,13 @@ month, and year.
|
|||||||
|
|
||||||
<!-- ##### TYPEDEF GTime ##### -->
|
<!-- ##### TYPEDEF GTime ##### -->
|
||||||
<para>
|
<para>
|
||||||
Simply a replacement for <type>time_t</type>. Unrelated to #GTimer.
|
Simply a replacement for <type>time_t</type>. It has been deprected
|
||||||
|
since it is <emphasis>not</emphasis> equivalent to <type>time_t</type>
|
||||||
|
on 64-bit platforms with a 64-bit <type>time_t</type>.
|
||||||
|
Unrelated to #GTimer.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Note that <type>GTime</type> is defined to always be a 32bit integer,
|
Note that <type>GTime</type> is defined to always be a 32bit integer,
|
||||||
unlike <type>time_t</type> which may be 64bit on some systems.
|
unlike <type>time_t</type> which may be 64bit on some systems.
|
||||||
@ -346,15 +350,11 @@ Sets the value of a #GDate from a Julian day number.
|
|||||||
|
|
||||||
<!-- ##### FUNCTION g_date_set_time ##### -->
|
<!-- ##### FUNCTION g_date_set_time ##### -->
|
||||||
<para>
|
<para>
|
||||||
Sets the value of a date from a #GTime (<type>time_t</type>) value.
|
|
||||||
To set the value of a date to the current day, you could write:
|
|
||||||
<informalexample><programlisting>
|
|
||||||
g_date_set_time (date, time (NULL));
|
|
||||||
</programlisting></informalexample>
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@date: a #GDate.
|
@date:
|
||||||
@time_: #GTime value to set.
|
@time_:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION g_date_set_parse ##### -->
|
<!-- ##### FUNCTION g_date_set_parse ##### -->
|
||||||
|
72
glib/gdate.c
72
glib/gdate.c
@ -859,20 +859,33 @@ g_date_set_parse (GDate *d,
|
|||||||
G_UNLOCK (g_date_global);
|
G_UNLOCK (g_date_global);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_date_set_time_t:
|
||||||
|
* @date: a #GDate
|
||||||
|
* @timet: <type>time_t</type> value to set
|
||||||
|
*
|
||||||
|
* Sets the value of a date from a <type>time_t</type> value.
|
||||||
|
*
|
||||||
|
* To set the value of a date to the current day, you could write:
|
||||||
|
* <informalexample><programlisting>
|
||||||
|
* g_date_set_time_t (date, time (NULL));
|
||||||
|
* </programlisting></informalexample>
|
||||||
|
*
|
||||||
|
* Since: 2.10
|
||||||
|
*/
|
||||||
void
|
void
|
||||||
g_date_set_time (GDate *d,
|
g_date_set_time_t (GDate *date,
|
||||||
GTime time)
|
time_t timet)
|
||||||
{
|
{
|
||||||
time_t t = time;
|
|
||||||
struct tm tm;
|
struct tm tm;
|
||||||
|
|
||||||
g_return_if_fail (d != NULL);
|
g_return_if_fail (date != NULL);
|
||||||
|
|
||||||
#ifdef HAVE_LOCALTIME_R
|
#ifdef HAVE_LOCALTIME_R
|
||||||
localtime_r (&t, &tm);
|
localtime_r (&timet, &tm);
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
struct tm *ptm = localtime (&t);
|
struct tm *ptm = localtime (&timet);
|
||||||
|
|
||||||
if (ptm == NULL)
|
if (ptm == NULL)
|
||||||
{
|
{
|
||||||
@ -892,15 +905,50 @@ g_date_set_time (GDate *d,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
d->julian = FALSE;
|
date->julian = FALSE;
|
||||||
|
|
||||||
d->month = tm.tm_mon + 1;
|
date->month = tm.tm_mon + 1;
|
||||||
d->day = tm.tm_mday;
|
date->day = tm.tm_mday;
|
||||||
d->year = tm.tm_year + 1900;
|
date->year = tm.tm_year + 1900;
|
||||||
|
|
||||||
g_return_if_fail (g_date_valid_dmy (d->day, d->month, d->year));
|
g_return_if_fail (g_date_valid_dmy (date->day, date->month, date->year));
|
||||||
|
|
||||||
d->dmy = TRUE;
|
date->dmy = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_date_set_time:
|
||||||
|
* @date: a #GDate.
|
||||||
|
* @time_: #GTime value to set.
|
||||||
|
*
|
||||||
|
* Sets the value of a date from a #GTime value.
|
||||||
|
*
|
||||||
|
* @Deprecated: Use g_date_set_time_t() instead.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
g_date_set_time (GDate *date,
|
||||||
|
GTime *time_)
|
||||||
|
{
|
||||||
|
g_date_set_time_t (date, (time_t) time_);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_date_set_time_val:
|
||||||
|
* @date: a #GDate
|
||||||
|
* @timeval: #GTimeVal value to set
|
||||||
|
*
|
||||||
|
* Sets the value of a date from a #GTimeVal value. Note that the
|
||||||
|
* @tv_usec member is ignored, because #GDate can't make use of the
|
||||||
|
* additional precision.
|
||||||
|
*
|
||||||
|
* Since: 2.10
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
g_date_set_time_val (GDate *date,
|
||||||
|
GTimeVal *timeval)
|
||||||
|
{
|
||||||
|
g_date_set_time_t (date, (time_t) timeval->tv_sec);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -27,6 +27,9 @@
|
|||||||
#ifndef __G_DATE_H__
|
#ifndef __G_DATE_H__
|
||||||
#define __G_DATE_H__
|
#define __G_DATE_H__
|
||||||
|
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
#include <glib/gtypes.h>
|
||||||
#include <glib/gquark.h>
|
#include <glib/gquark.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
@ -165,8 +168,14 @@ void g_date_clear (GDate *date,
|
|||||||
*/
|
*/
|
||||||
void g_date_set_parse (GDate *date,
|
void g_date_set_parse (GDate *date,
|
||||||
const gchar *str);
|
const gchar *str);
|
||||||
|
void g_date_set_time_t (GDate *date,
|
||||||
|
time_t timet);
|
||||||
|
void g_date_set_time_val (GDate *date,
|
||||||
|
GTimeVal *timeval);
|
||||||
|
#ifndef G_DISABLE_DEPRECATED
|
||||||
void g_date_set_time (GDate *date,
|
void g_date_set_time (GDate *date,
|
||||||
GTime time_);
|
GTime time_);
|
||||||
|
#endif
|
||||||
void g_date_set_month (GDate *date,
|
void g_date_set_month (GDate *date,
|
||||||
GDateMonth month);
|
GDateMonth month);
|
||||||
void g_date_set_day (GDate *date,
|
void g_date_set_day (GDate *date,
|
||||||
|
@ -213,7 +213,11 @@ g_date_set_dmy
|
|||||||
g_date_set_julian
|
g_date_set_julian
|
||||||
g_date_set_month
|
g_date_set_month
|
||||||
g_date_set_parse
|
g_date_set_parse
|
||||||
|
#ifndef G_DISABLE_DEPRECATED
|
||||||
g_date_set_time
|
g_date_set_time
|
||||||
|
#endif
|
||||||
|
g_date_set_time_t
|
||||||
|
g_date_set_time_val
|
||||||
g_date_set_year
|
g_date_set_year
|
||||||
g_date_strftime
|
g_date_strftime
|
||||||
g_date_subtract_days
|
g_date_subtract_days
|
||||||
|
Loading…
x
Reference in New Issue
Block a user