예제 #1
0
파일: Date.c 프로젝트: stevedekorte/basekit
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);
}
예제 #2
0
파일: Date.c 프로젝트: 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);
}
예제 #3
0
파일: IoDate.c 프로젝트: bomma/io
IO_METHOD(IoDate, fromNumber)
{
	/*doc Date fromNumber(aNumber)
	Sets the receiver to be aNumber seconds since 1970.
	*/

	Date_fromSeconds_(DATA(self), IoMessage_locals_doubleArgAt_(m, locals, 0));
	IoObject_isDirty_(self, 1);
	return self;
}
예제 #4
0
파일: Date.c 프로젝트: stevedekorte/basekit
void Date_fromString_format_(Date *self, const char *s, const char *format)
{
    struct tm tm = EmptyTM();
    io_strptime((char *)s, (char *)format, &tm);
    /*
    printf("year  = %i\n", t.tm_year);
    printf("month = %i\n", t.tm_mon);
    printf("day   = %i\n", t.tm_mday);
    printf("hour  = %i\n", t.tm_hour);
    printf("min   = %i\n", t.tm_min);
    printf("sec   = %i\n", t.tm_sec);
    */
    Date_fromSeconds_(self, mktime(&tm));
}
예제 #5
0
파일: Date.c 프로젝트: stevedekorte/basekit
void Date_fromTime_(Date *self, time_t t)
{
    Date_fromSeconds_(self, (double)t);
}