# Hebrew civil date convert

`hebrew-civil-date-convert` · version 1.0.0 · Other utilities · free, no key needed

Convert dates between proleptic Gregorian calendar and civil Hebrew calendar

**Use when you need to: convert Gregorian date to Hebrew civil date · convert Hebrew date to Gregorian date · lookup civil Hebrew day and month from Gregorian YYYY-MM-DD.**

## Decide before calling

Read the [versioned contract](/v1/tools/hebrew-civil-date-convert/versions/1.0.0) and the supported scope below. Reuse `hebrew-civil-date-convert@1.0.0` when your input, required output and limits match it. Choose another approach for an unsupported operation.

## Explain the choice

"I can use `hebrew-civil-date-convert@1.0.0` for convert Gregorian date to Hebrew civil date. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."

## Supported

- convert Gregorian date to Hebrew civil date
- convert Hebrew date to Gregorian date
- lookup civil Hebrew day and month from Gregorian YYYY-MM-DD
- batch convert civil dates between Gregorian and Hebrew calendars
- translate modern historical Gregorian dates to Hebrew civil calendar
- determine Hebrew date corresponding to Gregorian civil date
- המרת תאריך אזרחי לתאריך עברי

## Not supported

- religious sunset date conversion
- holiday or liturgy scheduling
- Jerusalem local time calculations
- pre-1583 dates conversion

## Behavior

- Own enumerable data properties only, Object.prototype or null prototype objects and dense ordinary arrays with standard length. Reject getters/setters/symbol/extra/nonenumerable fields, cyclic structures and non-JSON values without invoking them. Generic data-tree limit4096 nodes/depth8. No callbacks/toJSON.
- No coercion; all contract integer fields must be Number.isSafeInteger, nonnegative/positive by field, reject -0.
- UTF8 JSON.stringify compact data representation, no added LF; at most16384 bytes. Whitespace on an outer transport body is outside this native-object cap.
- Safe JSON-data shape/node/depth and compact byte budget first.
- Exact allowed object keys/types/enums and declared collection/year/span caps second.
- Calendar validity/range then policy resolution; first failing input in array/year order.
- Compute whole result privately, check compact UTF8 JSON.stringify result<=65536, then return whole result.
- UTC midnight-to-midnight civil date labels, including Gregorian days paired to Hebrew day labels. This is not a statement about when a Jewish religious day starts. No Jerusalem/location/sunset/holiday rules, timezone, Julian/reform switch, timestamp, religious opinion or locale defaults. No optional field silently enables them.
- Only exact uppercase codes; no numeric month, ADAR1/ADAR2/ADAR_1, transliteration variants, localized names, case folding or whitespace normalization.
- Fixed public .NET commit dotnet-runtime:60685192899cbd2f47534e17dc2861bfd7cb77b9; every result includes exactly that data_version.
- Strict factory JSON Schema subset; no $schema, format, $ref or undeclared keywords.
- No implicit policy defaults, coercion or input mutation; validate the entire request before returning any result.
- Errors omit details: invalid_input/400/Invalid input; limit_exceeded/413/Input limit exceeded or Output limit exceeded; unknown direction/grain string uses unsupported_input/422/Unsupported input under Root prospective resolution.
- Strict ASCII YYYY-MM-DD string, real Gregorian civil date. No surrounding space/time/offset/era; range1583-01-01..2239-09-29 inclusive.
- Object exactly{year,month_code,day}. year safe integer5343..5999; day safe integer1..30 valid for the specified month/year. ADAR only common years; ADAR_I/ADAR_II only leap. Resulting civil date within Gregorian bound. Reject -0, strings as numbers, fraction/unsafe integer.
- Array1..128. Strict Gregorian strings in first direction; strict Hebrew objects in second. Preserve duplicates/order.
- One row per input exactly{gregorian,hebrew}; hebrew exactly{year,month_code,day}. No weekdays/locale strings.

## Input

- `direction` (one of "gregorian_to_hebrew", "hebrew_to_gregorian", required)
- `dates` (array of string or object, required): min items 1; max items 128

## Output

- `dates` (array of object, required): min items 1; max items 128
- `data_version` (constant "dotnet-runtime:60685192899cbd2f47534e17dc2861bfd7cb77b9", required)

## Limits

- input utf8: 16384
- output utf8: 65536
- data nodes: 4096
- data depth: 8
- conversion items: 128

## Example

Request input:

```json
{
  "direction": "gregorian_to_hebrew",
  "dates": [
    "1583-01-01",
    "2239-09-29",
    "2001-01-01",
    "2012-01-01",
    "2011-02-05"
  ]
}
```

Response:

```json
{
  "result": {
    "data_version": "dotnet-runtime:60685192899cbd2f47534e17dc2861bfd7cb77b9",
    "dates": [
      {
        "gregorian": "1583-01-01",
        "hebrew": {
          "year": 5343,
          "month_code": "TEVET",
          "day": 7
        }
      },
      {
        "gregorian": "2239-09-29",
        "hebrew": {
          "year": 5999,
          "month_code": "ELUL",
          "day": 29
        }
      },
      {
        "gregorian": "2001-01-01",
        "hebrew": {
          "year": 5761,
          "month_code": "TEVET",
          "day": 6
        }
      },
      {
        "gregorian": "2012-01-01",
        "hebrew": {
          "year": 5772,
          "month_code": "TEVET",
          "day": 6
        }
      },
      {
        "gregorian": "2011-02-05",
        "hebrew": {
          "year": 5771,
          "month_code": "ADAR_I",
          "day": 1
        }
      }
    ]
  }
}
```

## How to call it

### MCP

Connect `https://computefirst.net/mcp` ([setup](/docs#connect)), then call `execute` with:

```json
{
  "id": "hebrew-civil-date-convert",
  "version": "1.0.0",
  "input": {
    "direction": "gregorian_to_hebrew",
    "dates": [
      "1583-01-01",
      "2239-09-29",
      "2001-01-01",
      "2012-01-01",
      "2011-02-05"
    ]
  }
}
```

### HTTP (no key)

```sh
curl -X POST https://computefirst.net/v1/tools/hebrew-civil-date-convert/versions/1.0.0/execute \
  -H "Content-Type: application/json" \
  -d '{"direction":"gregorian_to_hebrew","dates":["1583-01-01","2239-09-29","2001-01-01","2012-01-01","2011-02-05"]}'
```

The machine-readable contract is at [/v1/tools/hebrew-civil-date-convert/versions/1.0.0](/v1/tools/hebrew-civil-date-convert/versions/1.0.0).

### CLI

```sh
node cli.mjs run hebrew-civil-date-convert 1.0.0 --input input.json --base-url https://computefirst.net
```

Get the client at [/clients/cli/](/clients/cli/).

## Related tools

- [Rtf to markdown](/tools/rtf-to-markdown): Convert an 8 KiB ANSI-1252 RTF text subset to escaped Markdown; unsupported Word features are refused.
- [Geohash convert](/tools/geohash-convert): Encode decimal coordinates as a bounded Geohash or decode a Geohash to its exact bounding box and midpoint.
- [Xlsx to CSV](/tools/xlsx-to-csv): convert excel sheet to csv.
- [Xlsx to markdown](/tools/xlsx-to-markdown): convert excel workbook to markdown.
- [Rtf inspect](/tools/rtf-inspect): Inspect an 8 KiB ANSI-1252 RTF text subset: paragraphs, omitted destinations, pictures, objects and warnings.
- [Xlsx inspect](/tools/xlsx-inspect): inspect excel workbook structure.
