Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
•HTTP Server/TGMT.cp
// TGmt.cp - G M Time class object |
// |
// Apple Macintosh Developer Technical Support |
// Written by: Vinne Moscaritolo |
// |
// Copyright (work in progress) Apple Computer, Inc All rights reserved. |
// |
// You may incorporate this sample code into your applications without |
// restriction, though the sample code has been provided "AS IS" and the |
// responsibility for its operation is 100% yours. However, what you are |
// not permitted to do is to redistribute the source as "DSC Sample Code" |
// after having made changes. If you're going to re-distribute the source, |
// we require that you make it clear in the source that the code was |
// descended from Apple Sample Code, but that you've made changes. |
// |
#include "TGMT.h" |
#include <iomanip.h> |
#include <OSUtils.h> |
void TGmt::Now() |
{ |
GetDateTime(&fTime); |
}; |
unsigned long TGmt::Elapsed() |
{ |
unsigned long now; |
GetDateTime(&now); |
return (now - fTime); |
}; |
ostream &operator<< (ostream& s, const TGmt& t) |
{ |
const char* wkday[]= {"XXX","Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; |
const char* month[] = {"XXX","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}; |
DateTimeRec d; |
MachineLocation loc; |
long delta; |
long savedflags; |
// normalize for GMT |
ReadLocation(&loc); |
delta = 0x00FFFFFF & loc.u.gmtDelta; |
if(delta & 0x00800000) delta |= 0xff000000; |
// Convert to Stream |
SecondsToDate(t.fTime - delta ,&d); |
savedflags = s.setf(ios::right, ios::adjustfield); |
s << setfill('0'); |
s << wkday[ d.dayOfWeek ] << ", " << setw(2) << d.day << " " << month[d.month] << " " << setw(4) << d.year << " "; |
s << setw(2) << d.hour << ":" << setw(2) << d.minute << ":" << setw(2) << d.second <<" GMT"; |
s.setf(savedflags); |
return s; |
}; |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14