Ik wil graag een geldig tijdstempel in mijn aanvraag krijgen, dus schreef ik:
public static String GetTimestamp(DateTime value)
{
return value.ToString("yyyyMMddHHmmssffff");
}
// ...later on in the code
String timeStamp = GetTimestamp(new DateTime());
Console.WriteLine(timeStamp);
uitvoer:
000101010000000000
Ik wilde zoiets als:
20140112180244
Wat heb ik verkeerd gedaan?
Antwoord 1, autoriteit 100%
Uw fout is het gebruik van new DateTime()
, die 1 januari 0001 om 00:00:00.000 retourneert in plaats van de huidige datum en tijd. De juiste syntaxis om de huidige datum en tijd te krijgen is DateTime.Now, dus verander dit:
String timeStamp = GetTimestamp(new DateTime());
naar dit:
String timeStamp = GetTimestamp(DateTime.Now);
Antwoord 2, autoriteit 28%
var Timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();
Antwoord 3, autoriteit 13%
var timestamp = DateTime.Now.ToFileTime();
//output: 132260149842749745
Dit is een alternatieve manier om afzonderlijke transacties te individualiseren. Het is geen unix time, maar windows filetime.
Van de docs:
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).
Antwoord 4, autoriteit 3%
Voor UTC:
string unixTimestamp = Convert.ToString((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
Voor lokaal systeem:
string unixTimestamp = Convert.ToString((int)DateTime.Now.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
Antwoord 5, autoriteit 2%
Int32 unixTimestamp = (Int32)(TIME.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
“TIME” is het DateTime-object waarvoor u de Unix-tijdstempel wilt krijgen.
Antwoord 6
internal static string UnixToDate(int Timestamp, string ConvertFormat)
{
DateTime ConvertedUnixTime = DateTimeOffset.FromUnixTimeSeconds(Timestamp).DateTime;
return ConvertedUnixTime.ToString(ConvertFormat);
}
int Timestamp = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
Gebruik:
UnixToDate(1607013172, "HH:mm:ss"); // Output 16:32:52
Timestamp; // Output 1607013172