ホームページ  >  記事  >  バックエンド開発  >  Go タイムスタンプから「m」フィールドを削除するにはどうすればよいですか?

Go タイムスタンプから「m」フィールドを削除するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-02 04:17:02930ブラウズ

How do I remove the

Go タイムスタンプの「m」を理解する

Go では、time.Now() を使用して取得されたタイムスタンプには、 「m=xx.xxxx...」の形式で、「m」は単調クロック読み取り値を表します。モノトニック クロックは、システム クロックの変更や同期の影響を受けずに経過時間を測定するタイプのクロックです。

タイムスタンプから「m」フィールドを削除

正規タイムスタンプから「m」フィールドを削除する方法は、Round 関数を利用することです。

<code class="go">t := t.Round(0)</code>

Round は引数として期間を受け取り、指定された期間の最も近い倍数に四捨五入された Time オブジェクトを返します。期間に 0 の値を渡すと、タイムスタンプの他のコンポーネントを保持しながら、「m」フィールドが効果的に削除されます。

「m」を使用せずにタイムスタンプを取得する代替方法

Round の使用に加えて、「m」フィールドを使用せずにタイムスタンプを取得する別の方法もあります:

  • カスタム形式文字列からの解析: Parse 関数を使用して取得できます。 「m」フィールドを含まないカスタム時刻書式文字列からの Time オブジェクト。
  • サードパーティ ライブラリを使用する: 一部のサードパーティ ライブラリは、タイムスタンプを解析および書式設定するための関数を提供します。 「m」フィールドを使用しない場合を含む、具体的な方法。

「m」フィールドを削除する例

次の例を考えてみましょう:

<code class="go">import "time"

func main() {
    t := time.Now()
    fmt.Println(t) // 2009-11-10 23:00:00 +0000 UTC m=+0.000000001
    t = t.Round(0)
    fmt.Println(t) // 2009-11-10 23:00:00 +0000 UTC
}</code>

この例では、time.Now() を使用して現在のタイムスタンプを取得し、それを出力します。タイムスタンプには「m」フィールドが含まれます。次に、Round を使用して「m」フィールドを削除し、結果の Time オブジェクトを出力します。出力には、「m」フィールドを含む元のタイムスタンプと、「m」フィールドを含まない変更されたタイムスタンプが表示されます。

以上がGo タイムスタンプから「m」フィールドを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。