সি # তে কীভাবে সঠিক টাইমস্ট্যাম্প পাবেন


146

আমি আমার অ্যাপ্লিকেশনটিতে বৈধ টাইমস্ট্যাম্প পেতে চাই তাই আমি লিখেছিলাম:

public static String GetTimestamp(DateTime value)
{
    return value.ToString("yyyyMMddHHmmssffff");
}
//  ...later on in the code
String timeStamp = GetTimestamp(new DateTime());
Console.WriteLine(timeStamp);

আউটপুট:

000101010000000000

আমি এরকম কিছু চাইছিলাম:

20140112180244

আমি কি ভুল করেছি?

উত্তর:


192

আপনার ভুলটি ব্যবহার হচ্ছে new DateTime(), যা বর্তমান তারিখ এবং সময়ের পরিবর্তে 1 জানুয়ারী, 0001: 00: 00: 00 এ ফিরে আসে। বর্তমান তারিখ এবং সময় পেতে সঠিক বাক্য গঠনটি ডেটটাইম । এখন, তাই এটি পরিবর্তন করুন:

String timeStamp = GetTimestamp(new DateTime());

এটি:

String timeStamp = GetTimestamp(DateTime.Now);

চারপাশে অন্য উপায় কি? টাইমস্ট্যাম্প থেকে
ডেটটাইম

2
@ ড্যানিয়েলভি এখানে দেখুন: একটি স্ট্রিংকে ডেটটাইমে রূপান্তর করা
একাদে

2
double timestamp = 1498122000; DateTime fecha = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc).AddSeconds(timestamp);এখান
ড্যানিয়েলভি

44
var Timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();

11
নেট প্রয়োজন 4.6।
jeromej

7
এটি আমার জন্য উত্তর ছিল, তবে আমি ব্যবহার করেছিToUnixTimeMilliseconds()
ইয়াস

15
var timestamp = DateTime.Now.ToFileTime();

//output: 132260149842749745

স্বতন্ত্র লেনদেনকে আলাদা করার জন্য এটি বিকল্প উপায়। এটি ইউনিক্স সময় নয়, উইন্ডোজ ফাইলটাইম।

ডক্স থেকে :

A Windows file time is a 64-bit value that represents the number of 100- 
nanosecond intervals that have elapsed since 12:00 midnight, January 1, 1601 
A.D. (C.E.) Coordinated Universal Time (UTC).

2
আপনি যদি এই কোডটির উত্তর অন্যদের তুলনায় কেন ভাল তাই অন্য ব্যবহারকারীরা বুঝতে পারবেন কেন আপনাকে এই সমস্যার সমাধানটি ব্যবহার করতে হবে সে সম্পর্কে যদি আপনি কিছু ব্যাখ্যা যুক্ত করেন তবে এটি সহায়তা করবে। কোডের উত্তরগুলি কোনও ব্যাখ্যা ছাড়াই তেমন সহায়ক হয় না।
ব্রায়ান টম্পসেট - :20

3
ক্যাশে অবৈধ করতে সহজেই টাইমস্ট্যাম্প স্টাইল পেতে আমাকে সহায়তা করে। +1
অ্যাডাভো

2
Int32 unixTimestamp = (Int32)(TIME.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

"TIME" হ'ল ডেটটাইম অবজেক্ট যা আপনি ইউনিক্স টাইমস্ট্যাম্পটি পেতে চান।


0

জন্য ইউটিসি :

string unixTimestamp = Convert.ToString((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);

স্থানীয় সিস্টেমের জন্য :

string unixTimestamp = Convert.ToString((int)DateTime.Now.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.