Warum ist der Unterschied zwischen den Epoch -Millisekundenwerten Java / Scala [geschlossen]Java

Java-Forum
Anonymous
 Warum ist der Unterschied zwischen den Epoch -Millisekundenwerten Java / Scala [geschlossen]

Post by Anonymous »

Hintergrund < /strong> < /p>

[*] Konvertieren einer Zeitstempelzeichenfolge in Millisekunden aus Epoche < /li>
Mit Scala Sprache mit Java -Bibliotheken
[*] Unit -Test
Code [/b]
/> Funktion (innerhalb von Utils -Klasse)

Code: Select all

  def stringToMillis(inputString: String): Long = {
// input date string and its formatter
val formatter = DateTimeFormatter.ofPattern("M/d/yyyy h:mm:ss a")
val localTime = LocalDateTime.parse(inputString, formatter)
val zonedTime = localTime.atZone(ZoneOffset.UTC)
zonedTime.toInstant.toEpochMilli
Test

Code: Select all

    val currentTime = Instant.now
val expected = currentTime.toEpochMilli
val formatter =
DateTimeFormatter.ofPattern("M/d/yyyy h:mm:ss a").withZone(ZoneId.of("UTC"))
val timestamp = formatter.format(currentTime)
val actual = Utils.stringToMillis(timestamp) // Testing function defined above
actual should be ( expected )
Fehlerbeispiel

Code: Select all

1739424250000 was not equal to 1739424250305
Frage
Es gibt einen geringfügigen Unterschied und daher fällt der Testfall fehl. Ist das erwartet? Gibt es irgendwelche Arbeiten?

Code: Select all

    val difference = Math.abs(expected - actual)
difference should be < 1000L // less than 1 second

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post