Wie erhält man die aktuelle Zeit durch Solidität?

Ich möchte Zeit beschreiben wie Apr15th 10:00AM. Ich weiß, wie man den Zeitbereich wie folgt beschreibt, aber ich bin mir nicht sicher, wie man das Datum der Uhrzeit nennt. Kannst du mir davon erzählen, wenn du es weißt?

1 == 1 second
1 minutes == 60 seconds
1 hours == 60 minutes
1 days == 24 hours
1 weeks = 7 days
1 years = 365 days

Antworten (2)

15. April 2016 10:00 UTC übersetzt in 1460714400 im Unix-Zeitstempel.

Ich habe es nie benutzt, aber es gibt diese Bibliothek von @pipermerriam namens ethereum-datetime , also könntest du seinen Vertrag anrufen, um zu bekommen, was du willst

Beachten Sie, dass die ethereum-datetime den Smart Contract nicht mit der aktuellen Datetime versorgt. ethereum-date bietet Ihnen die Möglichkeit, die Zeit zu formatieren, anstatt die Anzahl der Sekunden seit dem 01.01.1970 anzuzeigen.
@BokkyPooBah Ich nehme an, das bedeutet, dass es (noch) keine Möglichkeit gibt, die aktuelle Zeit in Solidität zu erhalten?
@TeleportingGoat In Ihrem Solidity-Vertragscode können Sie auf block.timestamp zugreifen – siehe ethereum.stackexchange.com/questions/413/…
Funktioniert diese Bibliothek auch für Polygone???

Ich glaube was du suchst ist block.timestamp:

chainStartTime = block.timestamp;

Früher gab es now, aber es ist veraltet

"jetzt" ist veraltet. Verwenden Sie stattdessen "block.timestamp".
Es gibt mehrere Problemumgehungen. Der erste basiert auf dem Zeitstempel des Blocks: Jeder Zeitstempel sollte größer sein als der des übergeordneten Knotens, obwohl Nodes den Zeitstempel manipulieren können, insbesondere wenn er ihnen Gewinne verspricht, aber auch Blöcke könnten während des Minings abgelehnt werden. Die zweite basiert auf der Verwendung der Blocknummer, da sie einzeln geordnet sind, und auf der Kenntnis der durchschnittlichen Blockzeitausführung, um die aktuelle Zeit zu berechnen - leider kann die Zeit des Blockabbaus auch variieren, insbesondere bei neuen Ethereum-Updates. Scheint, als wäre der Zeitstempel des Blocks die bessere Option.