The Technical Reality of Pacific Time
San Jose runs on Pacific Time, that is it. No complications unless you are dealing with legacy systems or cross-border scheduling. The offset is UTC-8 during standard time and UTC-7 during daylight saving. Most people already know this. The part nobody talks about is what happens when your infrastructure does not actually respect the switch. I learned this the hard way back in 2018. We were running a deployment pipeline for a SaaS product and the cron jobs were stored in UTC while the application logic pulled timestamps from the local system clock. The server was provisioned with the wrong timezone identifier. It said America/Los_Angeles but the underlying OS defaulted to UTC anyway. We ended up shipping reports at 9 AM Pacific instead of 6 PM Pacific because the cron schedule ran three hours off. Three hours. Nobody caught it for two weeks. The fix was simple but not obvious: I ran `timedatectl` on the staging server, confirmed the timezone was misconfigured, set it to `America/Los_Angeles`, restarted the affected services, and then added a startup script that verifies the timezone on every boot. It costs nothing and it saved us from repeating that mess. If you need to pin down the exact hour for any reason, the reliable approach is to use the IANA timezone database identifier America/Los_Angeles rather than relying on raw UTC offsets. Raw offsets break the moment daylight saving changes. That is why every serious scheduler and database should use the named timezone. PostgreSQL, MySQL, Redis, Kubernetes, Docker, Terraform, Ansible, CloudWatch, Datadog, Splunk, New Relic, PagerDuty — they all accept IANA identifiers. Use them.
The practical edge case most teams miss is that San Jose and Palo Alto and Mountain View and the rest of the valley all share the same timezone data, but they do not all agree with each other when it comes to how far back history goes. Pacific Time has had at least four different offset configurations since 1883. If you are working with historical logs or audit trails that predate 1970, you will find inconsistency between systems unless they all reference the same IANA backward-compatibility table. Linux systems using the newer tzdata package handle this better than older Solaris or FreeBSD boxes, which is exactly the problem you hit when you have a mixed environment spanning twenty years of infrastructure. Here is what actually works in production without headaches: Set your server timezone to America/Los_Angeles at provisioning time, not after. Most cloud providers default to UTC. Every provider I have worked with — AWS EC2, Google Cloud, Azure, DigitalOcean — gives you a timezone field at instance creation. Use it. Do not rely on the application layer to translate for you because the application layer is usually wrong by the time it processes anything.
Store everything in UTC. Always. Log timestamps in UTC. Queue timestamps in UTC. Database timestamps in UTC. Only convert to Pacific Time at the very last possible moment, which is right before you display it to a human or send it to an external partner who expects it in local time. When you need to verify what time it actually is in San Jose right now, the command is straightforward on Linux: date -u --date="TZ=\"America/Los_Angeles\""
Get the Full Details

This gives you the current Pacific Time including whether daylight saving is active. You do not need a third-party tool for this. The OS handles it natively if tzdata is installed, and tzdata is installed on every sensible system. The common failure mode I see repeatedly is teams building integrations that assume Pacific Time equals UTC-8 always. It does not. For roughly eight months of the year it is UTC-7. If your integration calculates offsets instead of using proper timezone libraries, it will be wrong half the year and you will get support tickets you cannot explain until you dig into the timestamp handling. Use the library. Do not calculate the offset yourself. For scheduling recurring meetings or deployments across Silicon Valley companies, I recommend using Calendly or Doodle with the timezone set to Pacific explicitly. The free tier handles this fine. The paid tier adds buffer time between meetings, which matters more than you would think when you have back-to-back Zoom calls across different buildings in the same zip code. Actually, buffer time matters regardless of zip code. My point stands.
If you need a quick reference for the exact transition dates each year, daylight saving starts on the second Sunday in March and ends on the first Sunday in November. This has been consistent since 2007 under the Energy Policy Act. Before 2007 the dates varied, so if you are dealing with historical data older than that, check the specific year. The timezone for San Jose is Pacific Time. UTC-8 standard, UTC-7 daylight saving. Use America/Los_Angeles in your code, store timestamps in UTC, and verify your server configuration at deploy time. That covers it.