JsonDate class

A specialized JSON field for handling date and time values.

JsonDate extends JsonField<DateTime> to provide comprehensive date/time handling in JSON data. It supports parsing date strings, formatting dates for display, and serializing dates to ISO 8601 format in UTC.

Key Features:

  • Automatic parsing of ISO 8601 date strings
  • Defaults to current date/time when value is null
  • Formats dates using customizable format strings
  • Serializes dates to UTC ISO 8601 format for JSON

Usage Example:

final createdAt = JsonDate('createdAt');
createdAt.value = '2024-08-07T12:34:56Z'; // Parses string
createdAt.value = DateTime.now(); // Accepts DateTime directly

print(createdAt.format()); // Formatted string for display
print(createdAt.toJson()); // ISO 8601 UTC string for JSON

See also:

Inheritance

Constructors

JsonDate(String fieldName)
Creates a new JsonDate field with the specified field name.

Properties

error String?
An error message associated with this field, if any.
getter/setter pairinherited
fieldName String
The name of this field as it appears in JSON data.
finalinherited
hasError bool
Returns true if this field has an error message.
no setterinherited
hashCode int
Returns the hash code for this field.
no setterinherited
hasInformation bool
Returns true if this field has an informational message.
no setterinherited
hasWarning bool
Returns true if this field has a warning message.
no setterinherited
information String?
An informational message associated with this field, if any.
getter/setter pairinherited
isNotNull bool
Returns true if the raw value of this field is not null.
no setterinherited
isNull bool
Returns true if the raw value of this field is null.
no setterinherited
rawValue DateTime?
The raw, unprocessed value stored in this field.
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
value DateTime
Returns the DateTime value of this field.
getter/setter pairoverride
warning String?
A warning message associated with this field, if any.
getter/setter pairinherited

Methods

format({String dateFormat = DateTimeFormatsVN.dateOnly}) String
Formats the date value according to the specified format string.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() String?
Serializes the date value to an ISO 8601 UTC string for JSON.
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
Determines whether this field is equal to another object.
inherited