Timezone, datepicker problem

So database is in the cloud, in UTC timestamp.
Gateway is also in the cloud, with UTC timezone.
Whoever created the project, also configured to be UTC timezone.

The End User in on EST timezone.

I have records in database that I want to filter by datetime.

The date picker is headache. Biggest headache of all time up to date.

The date picker UI shows UTC.
BUT date picker value is EST.

I have not sort the Ask,
But essentially, I need to create a wrapper for date picker, so I can intialized it and also returns desired output timezone.

(1) first question:
How can I get offset of EST? that will work all year round?
right now, i get offset from session-device-offset. I want it to be independent of device timezone.

(2) this is where I need to learn java date object, system.date is acting strange.
In perspective, system.date.now() returns EST. cool!
system.date.Midnight() and system.date.setTime() return UTC