react-native-timezone

3.1.0 • Public • Published

React Native Timezone and Region

Maintainability

A Simple react native module to get the Timezone and the Region of the Android/iOS devices.

Motivation

For a project of mine, I had to acquire the currently selected timezone of the user. Unfortunately, I could not find any react native package or react native in-build function that facilitates this. Thus I created a small library.

v3.0.0 and above, you can access the Region details. More details can be found below.

Compatibility

Timezone version 3.0.0 only supports React Native version 0.62.3 and above due to the React Native Regular Expression Denial of Service (ReDoS) vulnerability.

React native version Tested Result
0.70.0 +
0.73.0 +
0.76.5 +

Installation

npm i react-native-timezone

iOS

Do cd ios/ && pod install or npx pod-install.

Usage

import TimeZone from 'react-native-timezone';

export default function App() {
  React.useEffect(() => {
    const timezone = Timezone.getTimeZone();
    const isAutoTimeZoneEnabled = Timezone.isAutoTimeZoneEnabled();
    const telephonyRegion = Timezone.getRegionByTelephony();
    const localeRegion = Timezone.getRegionByLocale();
    // Update state or use data as needed
  }, []);

  // Render your component
}

Check out the example folder.

APIs

API Description
getTimeZone Android: Returns timezone ID using java.util.TimeZone.getID()
iOS: Reflects the current system time zone using localTimeZone of NSTimeZone
isAutoTimeZoneEnabled Returns a boolean indicating if auto timezone is enabled on the device (Android Only)
getRegionByTelephony Retrieves the region information based on the telephony (SIM card) of the device. Returns undefined if the device has no SIM card.
getRegionByLocale Retrieves the region information based on the device's locale settings

Package Sidebar

Install

npm i react-native-timezone

Weekly Downloads

1,261

Version

3.1.0

License

MIT

Unpacked Size

47.8 kB

Total Files

43

Last publish

Collaborators

  • samitha9125