精品秘无码一区二区三区老师-精品秘一区二三区免费雷安-精品蜜桃秘一区二区三区-精品蜜桃秘一区二区三区粉嫩-精品蜜桃一区二区三区-精品蜜臀国产aⅴ一区二区三区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# 轉換當前時間為時間戳的 3 個方法

admin
2024年12月15日 13:19 本文熱度 554

前言

嗨,大家好!

今天我們來聊聊時間戳。

在計算機應用世界里,無論是為了記錄事件的發生時間、保障數據一致性還是提升安全性,時間戳都是不可或缺的重要工具,特別是在防止重放攻擊和管理用戶會話方面。

比如在一個銀行應用中,登錄請求和轉賬操作都會攜帶時間戳。

服務器端通過驗證這些時間戳來確保請求是新鮮的,并且不是來自之前的通信。

如果用戶在一定時間內沒有進行任何操作,系統將自動注銷該用戶的會話。

在 C# 中,將當前時間轉換為時間戳是一項簡單輕松的事情,

以下是如何實現這一轉換的 3 種方法,一起來看看吧!

1. 使用 DateTime 直接轉換

可以利用TotalSeconds 和TotalMilliseconds 方法直接轉換,但需要自己計算當前時間和 Unix 紀元的差值。

代碼如下,留意代碼中的注釋

using System;

classProgram
{
    static void Main()
    {
        // 使用 DateTime.UtcNow 獲取當前 UTC 時間
        DateTime currentTime = DateTime.UtcNow;

        // 通過與 1970-01-01 00:00:00 的差值來計算時間戳
        // 時間戳通常是一個從 Unix 紀元(即 1970-01-01 00:00:00) 開始計算
        // 如果有必要,你也可以自定義起始時間,如 2001-01-01
        // 計算時間戳(秒)
        long timestampInSeconds = (long)(currentTime - new DateTime(197011)).TotalSeconds;

        // 計算時間戳(毫秒)
        long timestampInMilliseconds = (long)(currentTime - new DateTime(197011)).TotalMilliseconds;

        Console.WriteLine("當前時間的時間戳(秒): " + timestampInSeconds);
        Console.WriteLine("當前時間的時間戳(毫秒): " + timestampInMilliseconds);
    }
}

2. 使用 DateTime.UtcNow.Ticks

如果你需要更高的精度,可以使用DateTime.UtcNow.Ticks 來獲取當前 UTC 時間的 Ticks(100 納秒單位)。

不過這個值并不是標準的 Unix 時間戳,需要通過簡單的數學運算轉換為秒或毫秒級別的時間戳。

using System;

classProgram
{
    static void Main()
    {
        // 獲取當前 UTC 時間的 Ticks
        long ticks = DateTime.UtcNow.Ticks;
        
        // 轉換為自 Unix 紀元以來的毫秒數
        long unixEpochTicks = new DateTime(197011000, DateTimeKind.Utc).Ticks;
        long millisecondsSinceEpoch = (ticks - unixEpochTicks) / TimeSpan.TicksPerMillisecond;
        
        Console.WriteLine($"當前時間的時間戳(毫秒): {millisecondsSinceEpoch}");
    }
}

3. 使用 DateTimeOffset

還可以使用DateTimeOffset 類來獲取時間戳,這在處理時區時會更方便。

using System;

classProgram
{
    static void Main()
    {
        // 獲取當前時間
        DateTimeOffset currentTime = DateTimeOffset.UtcNow;

        // 計算時間戳(秒)
        long timestampInSeconds = currentTime.ToUnixTimeSeconds();

        // 計算時間戳(毫秒)
        long timestampInMilliseconds = currentTime.ToUnixTimeMilliseconds();

        Console.WriteLine("當前時間的時間戳(秒): " + timestampInSeconds);
        Console.WriteLine("當前時間的時間戳(毫秒): " + timestampInMilliseconds);
    }
}

總結

在 C# 中,將當前時間轉換為時間戳是一個簡單而重要的操作。

通過以上 3 種方法,你可以輕松獲取 Unix 時間戳,無論是以秒還是毫秒為單位。


該文章在 2024/12/16 9:58:41 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 亚洲综合在线观看一区二区 | 日日夜夜操B | av在线播放一区网站欧美日韩综合一区二区三区 | 性爱亚洲性爱亚洲免费性爱 | 亚洲永久无码免费视频 | 少妇高清精品毛片在线视频 | 国产一区二区草草影院 | 麻豆麻豆必出精品入口 | 无罩大乳的熟妇正在播放 | 欧美国产伦久久久久久久 | 中文人妻熟女乱又乱精品 | 无码一区二区三区免费视频 | 精品四虎国产在免费观看 | 日韩精品有码在线三上悠亚 | 亚洲av无码男人的天堂在线 | 亚洲精品久久国产高清 | 亚洲国产精品久久久久爰色欲 | 午夜福利国产主播露出 | 2025天堂中文字幕一区在线观 | 国产综合久久三级蜜臀导航 | 免费国产黄网站在线观看动图 | 日本一道高清亚洲日美韩 | 亚洲av无码久久精品色欲 | 日韩午夜福利一区二区 | 国产真实乱人偷精品人妻图 | 午夜无码密臀av少妇影视 | 成人中文国产手机免费 | 欧美同性无套高清gayroom | 国产在线二区三区熟女A级 国产在线高清不卡免费播放 | 欧美成人看片一区二区三区尤物 | 亚洲精品国产av成人毛片 | 成人国产一区二区三区 | 日本三线和韩国三线品牌对比 | 国产精品爱久久久久久久电影 | 国产成人啪视频一区二区 | 精品国产制服丝袜高跟欧美日韩一区二区三 | 日韩精品免费观看 | 国产毛A片啊久久久久久A | 无码毛片视频一区二区免费播放 | 国产免费av片一级大片免费观看 | 国产亚州精品女人久久久久久 |