Exemple #1
0
void Date_convertToTimeZone_(Date *self, struct timezone tz)
{
    double s = Date_asSeconds(self) +
               ((self->tz.tz_minuteswest - tz.tz_minuteswest) * 60);
    Date_fromSeconds_(self, s);
    Date_setTimeZone_(self, tz);
}
Exemple #2
0
Fichier : Date.c Projet : ADTSH/io
void Date_convertToTimeZone_(Date *self, struct timezone tz)
{
	double s = Date_asSeconds(self) + 60*(self->tz.tz_minuteswest - (self->tz.tz_dsttime ? 60 : 0)) - 60*(tz.tz_minuteswest - (tz.tz_dsttime ? 60 : 0));
	
	Date_fromSeconds_(self, s);
	Date_setTimeZone_(self, tz);
}
Exemple #3
0
IO_METHOD(IoDate, setGmtOffset)
{
	/*doc Date setGmtOffset
	Set the number of minutes west of GMT for this Date's zone
	*/

	struct timezone tz = Date_timeZone(DATA(self));
	tz.tz_minuteswest = IoMessage_locals_intArgAt_(m, locals, 0);
	Date_setTimeZone_(DATA(self), tz);
	IoObject_isDirty_(self, 1);
	return self;
}
Exemple #4
0
IO_METHOD(IoDate, setToUTC)
{
	/*doc Date asUTC
	Changes the timezone of this date to utc
	*/

	struct timezone tz;
	tz.tz_minuteswest = 0;
	tz.tz_dsttime = 0;
	
	Date_setTimeZone_(DATA(self), tz);
	IoObject_isDirty_(self, 1);
	
	return self;
}