Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
This repository was archived by the owner on Nov 1, 2021. It is now read-only.
/McFlyPublic archive

Changes deprecated timezone formats into modern IANA Olson Timezone formats

License

NotificationsYou must be signed in to change notification settings

SafetyCulture/McFly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

                     __---~~~~--__                      __--~~~~---__                    `\---~~~~~~~~\\                    //~~~~~~~~---/'                      \/~~~~~~~~~\||                  ||/~~~~~~~~~\/                                  `\\                //'                                    `\\            //'                                      ||          ||      Hey Doc!                            ______--~~~~~~~~~~~~~~~~~~--______                       ___ // _-~                        ~-_ \\ ___                      `\__)\/~                              ~\/(__/'                       _--`-___                            ___-'--_                     /~     `\ ~~~~~~~~------------~~~~~~~~ /'     ~\                    /|        `\         ________         /'        |\                   | `\   ______`\_      \------/      _/'______   /' |                   |   `\_~-_____\ ~-________________-~ /_____-~_/'   |                   `.     ~-__________________________________-~     .'                    `.      [_______/------|~~|------\_______]      .'                     `\--___((____)(________\/________)(____))___--/'                      |>>>>>>||                            ||<<<<<<|                      `\<<<<</'                            `\>>>>>/'

Build StatusCoverage Status

Purpose and Intent

McFly provides a convenient mechanism to modernise obsolete or deprecated Olson/IANA timezone strings into theirmodern equivalent timezone string.

Example:Asia/Saigon ->Asia/Ho_Chi_Minh

Installation

Install via NPM

npm install mcfly-timezone

Conversions

McFly, by default, utilises the 'backward' database, part of the larger IANA Timezone Database which is availableunder a Public Domain license. This will convert all deprecated timezone strings which have at any time formed a partof the IANA or Olson Timezone Databases to their modern equivalent.

Included 'Backward' Version:2017b

McFly is designed to ingest 'link' files provided by IANA as part of their Timezone Database which areused to alias one timezone string to another timezone string. You can provide other link files from the IANA datafiles using the custom configuration options below.

Usage

Require the McFly module and call theconvert method passing in theoldTimezoneString, a set ofoptions (optional)and acallback to be called on completion. If the given timezone string has a valid conversion it will be convertedto the new format, if not the original string will be returned.

Arguments

  • oldTimezoneString - A timezone string to be converted
  • options - A set of options to configure the conversion of timezone strings (optional). See below for the availableoptions. If not given the default options will be used.
  • callback - A callback which is called when the conversion is complete

Options

  • conversions - A file or directory path to the IANA TZ DB Link file/files OR an object where keys are deprecatedtimezone strings where the value corresponds to their linked target string. Default:"<module path>/conversions"
  • ignore - A regular expression defining any old timezone strings which should be ignored for conversion. Default:null

Example

Using default options

mcFly.convert("Asia/Saigon", function(error, result){    \\ Output Asia/Ho_Chi_Minh    console.log(result);})

Using custom options

options = {    conversions: {        'Europe/Belfast': 'Europe/London',        'GB': 'Europe/London',        'GB-Eire': 'Europe/London'    },    ignore: /\//}mcFly.convert("Europe/Belfast", options, function(error, result){    \\ Output Europe/Belfast    console.log(result);})mcFly.convert("GB", options, function(error, result){    \\ Output Europe/London    console.log(result);})

Limitations

  • McFly only converts timezone strings known to conform to a given format which have a valid current equivalent. The IANATimezone Database maintains a list of known historical, obsolete and obscure Timezones which are not covered by thedatabase. Timezone representations which have never formed part of the IANA or Olson databases are also unsupported.

Caveats

  • When using conversions loaded from a file these are cached in-memory for the lifetime of the module's life in memory.This means changes to the state of conversions of the filesystem may not be updated unless the module is re-importedor the_conversionCache property on the module root is cleared.

[8]ページ先頭

©2009-2025 Movatter.jp