Question: I use a custom hook to support dark mode with tailwindcss in my new react-native app, created with Expo CLI. The TailwindProvider with the dark mode logic looks like this:

```js
const TailwindProvider: React.FC = ({ children }) => {
  const [currentColorScheme, setcurrentColorScheme] = useState(Appearance.getColorScheme());
  console.log("CurrentColorScheme:", currentColorScheme);
  const isDarkMode = currentColorScheme == "dark";
  const tw = (classes: string) => tailwind(handleThemeClasses(classes, isDarkMode))
  return <TailwindContext.Provider value={{ currentColorScheme, setcurrentColorScheme, tw, isDarkMode }}>{children}</TailwindContext.Provider>;
}

```

as you can see, i use the `Appearance.getColorScheme()` method from `react-native` to get the current ColorScheme. But both on iOS and Android, i always get `light` instead of `dark`, in debug as well as in production mode.

How can I fix this?

Answer: 
Use `systimestamp` rather than `sysdate`, because it is already timezone-aware; then `at time zone` to translate:

```
select systimestamp at time zone 'America/New_York' from dual

```

Using a region is better/safer than an abbreviation like 'EST", which might not be unique; and [gives you the wrong answer](https://dbfiddle.uk/?rdbms=oracle_18&fiddle=8792c9f5fb967821b6c1406e8baca6d3) - this shows mine, Justin's alternative (and maybe better!) region, what you get with EST, and all the things EST is an abbreviation of. (You could use `EST5EDT`, but a region is still clearer.)

You could also set your session to an East-coat region (if it isn't already) and then use `current_timestamp` instead of `systimestamp`:

```
alter session set time_zone = 'America/New_York';
select current_timestamp from dual;

```

[db<>fiddle](https://dbfiddle.uk/?rdbms=oracle_18&fiddle=f3f5b5a55fe5f1f5a1ff50d1ad3213ab)

Either way, how it is displayed is down to your client/application - e.g. the session `nls_timestamp_tz_format` - unless you convert it to a string with `to_char()`, supplying the format you want.
If you really want to use `SYSDATE` then you can use:

```sql
SELECT from_tz(CAST(sysdate AS TIMESTAMP),'PST') AT TIME ZONE 'EST5EDT' FROM DUAL;

```

Which outputs:

> 
> 
> ```
> 
> | FROM_TZ(CAST(SYSDATEASTIMESTAMP),'PST')ATTIMEZONE'EST5EDT' |
> | :--------------------------------------------------------- |
> | 02-APR-21 11.07.33.000000 PM EST5EDT                       |
> 
> ```
> 
> 

or:

```sql
SELECT from_tz(CAST(sysdate AS TIMESTAMP),'US/Pacific') AT TIME ZONE 'US/Eastern' FROM DUAL;

```

Which outputs:

> 
> 
> ```
> 
> | FROM_TZ(CAST(SYSDATEASTIMESTAMP),'US/PACIFIC')ATTIMEZONE'US/EASTERN' |
> | :------------------------------------------------------------------- |
> | 02-APR-21 11.07.33.000000 PM US/EASTERN                              |
> 
> ```
> 
> 

*db<>fiddle [here](https://dbfiddle.uk/?rdbms=oracle_11.2&fiddle=d5f2a83874b278412b0596443eb29d4c)*