Since you said "UNIX", this uses TZ, but, TZ=[what goes here] You need to find out [what goes here] on your system.  It might be "America/LosAngeles"  or one of several other strings for PST.
If your system is POSIX: TZ=PST8PST  is guaranteed to work.  But it may not be optimal.

Primitive non-production code assumes TZ is not currently in use.  This is in C, not C++ since your tag was C:

setenv("TZ", "PST8PST", 1);   // set TZ
tzset();                // recognize TZ
time_t lt=time(NULL);   //epoch seconds
struct tm *p=localtime(&amp;lt); // get local time struct tm
char tmp[80]={0x0};
strftime(tmp, 80, "%c", p);  // format time use format string, %c 
printf("time and date PST: %s\n", tmp); // display time and date
// you may or may not want to remove the TZ variable at this point.


Unix C++: get time at a different zone
What is the insignia worn by the metalbending cops?  The one that looks like a gold geometric ant's head (with mandibles):



Is it a spin on something from the previous series?
