public DateTime (TimeZone tz, int year, int month, int day, int hour, int minute, double seconds)

Creates a new DateTime corresponding to the given date and time in the time zone tz.

The year must be between 1 and 9999, month between 1 and 12 and day between 1 and 28, 29, 30 or 31 depending on the month and the year.

hour must be between 0 and 23 and minute must be between 0 and 59.

seconds must be at least 0.0 and must be strictly less than 60.0. It will be rounded down to the nearest microsecond.

If the given time is not representable in the given time zone (for example, 02:30 on March 14th 2010 in Toronto, due to daylight savings time) then the time will be rounded up to the nearest existing time (in this case, 03:00). If this matters to you then you should verify the return value for containing the same as the numbers you gave.

In the case that the given time is ambiguous in the given time zone (for example, 01:30 on November 7th 2010 in Toronto, due to daylight savings time) then the time falling within standard (ie: non-daylight) time is taken.

It not considered a programmer error for the values to this function to be out of range, but in the case that they are, the function will return null.

You should release the return value by calling g_date_time_unref when you are done with it.



a TimeZone


the year component of the date


the month component of the date


the day component of the date


the hour component of the date


the minute component of the date


the number of seconds past the minute


a new DateTime, or null