• Start

Languages

/

Java

/

API Reference

/

Data Types

Duration

SurrealDB duration values map to Java's Duration class.

SurrealDB duration values map to Java's java.time.Duration. The SDK handles conversion automatically when deserializing query results into Value objects or POJOs.

Checks if the value is a duration.

Method Syntax

value.isDuration()

Returns: boolean

Returns the duration as a java.time.Duration.

Method Syntax

value.getDuration()

Returns: java.time.Duration

When using typed methods, duration fields in your POJO should be declared as Duration.

import java.time.Duration;

public class Task {
public RecordId id;
public String name;
public Duration timeout;

public Task() {}
}

Optional<Task> task = db.select(Task.class, new RecordId("task", "build"));
Duration timeout = task.get().timeout;

Working with duration values

import com.surrealdb.Surreal;
import com.surrealdb.Response;
import com.surrealdb.Value;
import com.surrealdb.signin.RootCredential;
import java.time.Duration;

try (Surreal db = new Surreal()) {
db.connect("ws://localhost:8000");
db.useNs("surrealdb").useDb("docs");
db.signin(new RootCredential("root", "root"));

Response response = db.query("RETURN 1h30m");
Value result = response.take(0);

if (result.isDuration()) {
Duration d = result.getDuration();
}
}

Was this page helpful?