কম্পিউটার টিউটোরিয়াল

C#-এ DateTime.FromFileTimeUtc() মেথড: উইন্ডোজ ফাইল টাইম থেকে UTC কনভার্সন


C#-এ DateTime.FromFileTimeUtc() মেথডটি নির্দিষ্ট উইন্ডোজ ফাইল টাইমকে (Windows file time) সমতুল্য UTC (Coordinated Universal Time) 시간에 রূপান্তর করে। উইন্ডোজ ফাইল টাইম ১৬০১ সালের ১ জানুয়ারি থেকে ১০০-ন্যানোসেকেন্ড টিকের সংখ্যা হিসেবে সংরক্ষিত থাকে।

সিনট্যাক্স (Syntax)

public static DateTime FromFileTimeUtc(long time);

এখানে time প্যারামিটারটি হলো উইন্ডোজ ফাইল টাইম, যা টিক্স (১০০-ন্যানোসেকেন্ড ইন্টারভাল) আকারে প্রকাশ করা হয়।

উদাহরণ ১: নির্দিষ্ট ফাইল টাইম থেকে UTC

using System;

public class Demo
{
    public static void Main()
    {
        DateTime d1 = DateTime.FromFileTimeUtc(6500000000000);
        System.Console.WriteLine("DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
    }
}

আউটপুট

DateTime = 08 January 1601, 12:33:20

উদাহরণ ২: একাধিক ফাইল টাইম কনভার্সন

using System;

public class Demo
{
    public static void Main()
    {
        DateTime d1 = DateTime.FromFileTimeUtc(0);
        DateTime d2 = DateTime.FromFileTimeUtc(850000000000000);

        Console.WriteLine("DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
        Console.WriteLine("New DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d2);
    }
}

আউটপুট

DateTime = 01 January 1601, 12:00:00
New DateTime = 11 September 1603, 07:06:40

মূল koncept: উইন্ডোজ ফাইল টাইম

  • উইন্ডোজ ফাইল টাইম ১৬০১ সালের ১ জানুয়ারি ০০:০০:০০ UTC থেকে শুরু হয়
  • প্রতি টিক = ১০০ ন্যানোসেকেন্ড = ০.০০০১ মিলিসেকেন্ড
  • ১ সেকেন্ড = ১০,০০০,০০০ টিক
  • NTFS ফাইল সিস্টেমে ফাইল তৈরির সময়, শেষ এক্সেস টাইম, শেষ মডিফিকেশন টাইম এই ফরম্যাটে সংরক্ষিত থাকে

প্রায়োগিক ব্যবহার: ফাইল সিস্টেম টাইম পড়া

using System;
using System.IO;

public class FileTimeDemo
{
    public static void Main()
    {
        string filePath = @"C:\Windows\notepad.exe";
        
        if (File.Exists(filePath))
        {
            long creationTimeUtc = File.GetCreationTimeUtc(filePath).ToFileTimeUtc();
            DateTime dt = DateTime.FromFileTimeUtc(creationTimeUtc);
            Console.WriteLine("File Creation Time (UTC): " + dt);
        }
    }
}

সংশ্লিষ্ট মেথড: DateTime.ToFileTimeUtc() (UTC DateTime -> File Time), DateTime.FromFileTime() (File Time -> Local Time)

  1. C#-এ DateTime.AddYears() পদ্ধতি

  2. C#-এ DateTime.AddHours() মেথড

  3. C#-এ DateTime.AddDays() মেথড

  4. C#-এ DateTime.Add() মেথড