Gregorian to Minguo ROC year and date converter
Enter a Gregorian date to get its Minguo equivalent; 2024-07-25 becomes 113-07-25, because Minguo year 1 is 1912. Only the year changes, the month and day stay the same, and impossible dates are refused. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Date
- 2024-07-25
- Gregorian date
- 2024-07-25
- Minguo date
- 113-07-25
- Gregorian year
- 2,024
- Minguo year
- 113
Convert an explicit Gregorian calendar date into the corresponding Minguo Republic of China calendar year and date without depending on a clock, timezone, locale, or external service. Enter a complete ISO date in YYYY-MM-DD form, such as 2024-07-25. The converter subtracts 1911 from the Gregorian year, preserves the month and day, and validates the original date with Gregorian leap-year rules. The structured result includes both calendar representations and their numeric components, making it straightforward to display, store, compare, or pass into a deterministic integration.
Provide a complete and explicit Gregorian date
Enter exactly four digits for the Gregorian year, two for the month, and two for the day, separated by hyphens. For example, 2024-07-25 identifies one civil calendar date without asking the converter to infer a regional ordering. The fixed ISO structure matters when values come from spreadsheets, forms, document indexes, or database exports: a date such as 07/08/2024 can mean different things to different senders, while 2024-07-25 cannot.
The capability accepts dates beginning with 1912-01-01, which is the first day of Minguo year 1. Earlier Gregorian dates would require a before-Republic notation and are deliberately rejected instead of returning a negative or zero year that could be misunderstood. The input is also checked as an actual Gregorian date.
Months must be from 01 through 12, day values must fit the selected month, and extra whitespace, timestamps, timezone suffixes, or omitted zero padding are invalid. This strict contract exposes malformed source data early and keeps automated conversions predictable.
Understand the year calculation and date validation
The Republic of China calendar numbers 1912 as Minguo year 1, so the conversion subtracts 1911 from the Gregorian year. Only the year number changes: the month and day describe the same civil date in both representations. Gregorian 2024-07-25 therefore becomes Minguo 113-07-25, while 1912-01-01 becomes 1-01-01.
Before producing that result, the algorithm validates the source date using Gregorian month lengths and leap-year rules. February 29 is allowed when the year is divisible by four, except century years must also be divisible by four hundred. This means 2000-02-29 is valid but 2100-02-29 is not.
The implementation performs these checks with bounded integer arithmetic and string matching. As a result, there is no midnight timezone shift and no environment-specific interpretation: the same input returns the same normalized fields in a browser, server process, or automated test.
What you can do with it
Prepare Taiwanese form data
Convert Gregorian dates into complete Minguo dates before entering them into a Republic of China administrative or business form.
Normalize application displays
Show a Minguo year and date beside the Gregorian source while preserving consistent, validated calendar values.
Build an auditable data migration
Store the paired Gregorian and Minguo results so each converted record remains traceable to its explicit source date.
FAQ
How is a Gregorian year converted to a Minguo year?
The converter subtracts 1911 from the Gregorian year. The validated month and day stay unchanged.
What input format is accepted?
Use a complete Gregorian ISO date in YYYY-MM-DD format, for example 2024-07-25.
Can it convert Gregorian dates before 1912?
No. It begins at 1912-01-01, Minguo year 1, and does not produce before-Republic era notation.
Does it validate February 29?
Yes. A leap day is accepted only when the supplied Gregorian year satisfies the full Gregorian leap-year rule.
Where are Minguo dates used?
On Taiwanese government forms, certificates, invoices, identity-related records and business systems that write the year in Minguo. Keeping both dates side by side lets a reviewer check every conversion.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/date/gregorian-to-minguo \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/gregorian-to-minguo", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/gregorian-to-minguo",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/gregorian-to-minguo", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/gregorian-to-minguo", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"date": "2024-07-25"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.gregorian_to_minguo",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Use paired calendar values in records and integrations
When traceability matters, retain both complete date strings rather than overwriting the source value; reviewers can then confirm exactly how a migrated or displayed date was obtained. A civil date has no timezone offset, so UTC determinism here means that runtime location cannot alter the answer. The response returns the original normalized Gregorian date, the converted Minguo date, both year numbers, and numeric month and day fields. Those paired values are useful when Taiwanese government forms, certificates, invoices, identity-related records, or internal business systems use a Minguo year while another application expects Gregorian ISO dates. In batch pipelines, process one explicit date per request and route invalid-input responses for correction instead of guessing missing digits or silently changing an impossible day. This capability converts civil dates only. It does not interpret Chinese era characters, accept a bare year, convert the traditional lunar calendar, attach a time of day, or calculate an instant. Quick checks can run locally in the browser, while automated API conversions cost $0.002 per request and use the identical pure calculation.
Technical questions
Can a timezone change the result?
No. The calculation uses the written civil date directly and does not use a clock, Date object, or timezone conversion.