---
title: "Date"
description: "This article explains what the date field is and how to configure it."
meta_title: "Date"
category: "fields"
audience: developers
lastUpdated: "2025-11-06T01:07:50.000Z"
---

The date field allows content writers to select a date that represents a calendar day.

The date is saved in `YYYY-MM-DD` format, like <Code>{new Date().toLocaleDateString("en-CA")}</Code>.

Date field values can be formatted and displayed like any JavaScript date using the `asDate()` helper from `@prismicio/client`.

**Next.js example:**

```tsx
import { asDate } from "@prismicio/client";

const date = asDate(slice.primary.release_date);

<span>{date?.toLocaleDateString("en-US")}</span>;
```

**Nuxt example:**

```vue-html
<span>{{ $prismic.asDate(slice.primary.release_date)?.toLocaleDateString("en-US") }}</span>
```

**SvelteKit example:**

```svelte
<script lang="ts">
  import { asDate } from "@prismicio/client";
</script>

<span>{asDate(slice.primary.release_date)?.toLocaleDateString("en-US")}</span>
```

> Unlike the [timestamp](https://prismic.io/docs/fields/timestamp.md) field, the date field does not include a time.

# Add a date field to a content model

1. **Open Slice Machine**

   In your Prismic project, start Slice Machine to begin editing content models.

   ```sh
   npx start-slicemachine --open
   ```

2. **Add a date field**

   In Slice Machine, navigate to the slice, page type, or custom type you want to modify. Add a **date** field.

   The **label** determines the label shown to content writers in the [Page Builder](https://prismic.io/docs/guides/page-builder.md). Use an easily understood name.

   The **API ID** determines the property name in the Content API. Use a short, snake-cased name.

# Use date fields

Date fields can be used anywhere a date is needed. It is often helpful to first convert the date to a JavaScript `Date` object using `asDate` from `@prismicio/client`.

**Next.js example:**

```tsx
import { asDate } from "@prismicio/client";
import type { SliceComponentProps } from "@prismicio/react";

function Slice({ slice }: SliceComponentProps) {
  const date = asDate(slice.primary.release_date);

  return <span>{date?.toLocaleDateString("en-US")}</span>;
}
```

**Nuxt example:**

```vue
<script setup lang="ts">
const { asDate } = usePrismic();

const date = computed(() => asDate(slice.primary.release_date));
</script>

<template>
  <span>{{ date?.toLocaleDateString("en-US") }}</span>
</template>
```

**SvelteKit example:**

```svelte
<script lang="ts">
  import { asDate } from "@prismicio/client";
  import type { SliceComponentProps } from "@prismicio/svelte";

  let { slice }: SliceComponentProps = $props();

  let date = $derived(asDate(slice.primary.release_date));
</script>

<span>{date?.toLocaleDateString("en-US")}</span>
```

# Check if a date field has a value

Use `isFilled.date()` to check if a date field has a value before using it.

```ts
import { isFilled } from "@prismicio/client";

if (isFilled.date(slice.primary.my_date_field)) {
  // Do something if `my_date_field` has a value.
}
```

[Learn more about `isFilled`](https://prismic.io/docs/technical-reference/prismicio-client/v7.md#isfilled)

# API response

Here is what a date field looks like from the Content API:

```json
{
  "example_date": "2030-01-31"
}
```
