Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอด DateTimeOffset.ToLocalTime ใน C# พร้อมตัวอย่าง


บทนำ

เมธอด DateTimeOffset.ToLocalTime() ใน C# ใช้แปลงอินสแตนซ์ DateTimeOffset ปัจจุบันให้เป็น DateTimeOffset ที่แสดงเวลาท้องถิ่น (local time) ของระบบที่โค้ดกำลังทำงานอยู่

ไวยากรณ์ (Syntax)

public DateTimeOffset ToLocalTime ();

ตัวอย่างที่ 1: การแปลงเวลาปัจจุบันเป็นเวลาท้องถิ่น

using System;

public class Demo 
{
    public static void Main()
    {
        DateTimeOffset local;
        DateTimeOffset dateTimeOffset = DateTimeOffset.Now;
        
        Console.WriteLine("DateTimeOffset = {0}", dateTimeOffset);
        local = dateTimeOffset.ToLocalTime();
        Console.WriteLine("Local Time = " + local.ToString());
    }
}

ผลลัพธ์

DateTimeOffset = 10/16/2019 11:20:35 AM +00:00
Local Time = 10/16/2019 11:20:35 AM +00:00

ตัวอย่างที่ 2: การแปลง DateTimeOffset ที่สร้างขึ้นมา

using System;

public class Demo 
{
    public static void Main()
    {
        DateTimeOffset local;
        DateTimeOffset dateTimeOffset = new DateTimeOffset(2019, 10, 12, 6, 10, 20, TimeSpan.Zero);
        
        Console.WriteLine("DateTimeOffset = {0}", dateTimeOffset);
        local = dateTimeOffset.ToLocalTime();
        Console.WriteLine("Local Time = " + local.ToString());
    }
}

ผลลัพธ์

DateTimeOffset = 10/12/2019 6:10:20 AM +00:00
Local Time = 10/12/2019 6:10:20 AM +00:00

สรุป

เมธอด ToLocalTime() ใช้การตั้งค่าโซนเวลาของระบบปฏิบัติการในการกำหนด offset ใหม่ หาก DateTimeOffset ต้นทางอยู่ใน UTC แล้ว (offset = +00:00) และระบบก็อยู่ใน UTC ผลลัพธ์จะเหมือนเดิม ใช้สำหรับการแสดงเวลาให้ผู้ใช้ในโซนเวลาของตนเอง