Exemplo n.º 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);
}
Exemplo n.º 2
0
Arquivo: Date.c Projeto: 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);
}
Exemplo n.º 3
0
Arquivo: IoDate.c Projeto: bomma/io
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;
}
Exemplo n.º 4
0
Arquivo: IoDate.c Projeto: bomma/io
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;
}