パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v2.0.0

ntp

(NTP) ネットワーク時刻プロトコルサーバーから正確な時刻または現在の DateTime オブジェクトを取得します。

AndroidiOSmacOSWindowsLinux
30日間ダウンロード
17.7万
いいね数
261
Pub ポイント
150

パッケージをインストール

flutter pub add ntp

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

ntp パッケージは、ネットワーク時間プロトコル(NTP)サーバーから正確なシステム時刻を取得する簡単な方法を提供します。アプリケーションがグローバル時間基準と同期された正確な DateTime 値を取得できるようにし、ログ記録、スケジューリング、デバイス間の同期など、時間に敏感な操作に特に役立ちます。このパッケージは Android、iOS、macOS、Windows、Linux などの複数のプラットフォームをサポートしており、環境間で一貫した動作を保証します。標準的な NTP プロトコルを使用し、ローカルデバイスの時計に依存せずに現在時刻を取得するための使いやすい API を提供しています。

用途

  • アプリのタイムスタンプをグローバル時刻と同期する
  • 時系列ログの精度向上
  • 信頼性のあるタスクスケジューリングの有効化
  • デバイスの時計のずれの検証
  • 正確なタイミングを必要とする分散システムのサポート

主な機能

  • NTP サーバーからリアルタイムデータを取得します
  • クロスプラットフォーム互換性
  • シンプルな同期および非同期 API
  • 高精度な時刻の取得
  • 最小限の依存関係

適している対象

  • 高精度の時刻が必要なアプリケーション
  • 時間的に重要なサービス
  • IoTおよびバックエンドシステム
  • 同期時計を必要とするモバイルおよびデスクトップアプリ
  • 時間検証用の開発ツール

注意事項

  • 正常に動作するにはインターネット接続が必要です
  • ネットワーク状態に応じて遅延が発生する可能性があります
  • オフラインでの利用には適していません
  • サーバーの利用可能さは信頼性に影響します
  • タイムゾーンの処理は別に管理する必要があります

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

pub package CodeFactor

NTP

Plugin that allows you to get precise time from Network Time Protocol (NTP). It implements whole NTP protocol in dart.

This is useful for time-based events since DateTime.now() returns the time of the device. Users sometimes change their internal clock and using DateTime.now() can give wrong result. You can just get clock offset [NTP.getNtpTime] and apply it manually to DateTime.now() object when needed (just add offset as milliseconds duration), or you can get already formatted [DateTime] object from [NTP.now].

By default lookup address for NTP is: time.google.com

For example on how to use look in github library repository example/ folder.

How it works

Using int offset from getNtpTime()

  • default localTime is DateTime.now()
  • default lookUpAddress is 'time.google.com'
  • default port is 123
  DateTime startDate = new DateTime.now().toLocal();
  int offset = await NTP.getNtpOffset(localTime: startDate);
  print('NTP DateTime offset align: ${startDate.add(new Duration(milliseconds: offset))}');

Using DateTime from now

  DateTime startDate = await NTP.now();
  print('NTP DateTime: ${startDate}');
NTP Functions
  Future<int> getNtpOffset({
    String lookUpAddress: 'time.google.com',
    int port: 123,
    DateTime localTime,
    Duration timeout,
  });
  Future<DateTime> now();

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト