Time is money, but calculating it correctly is harder than it looks. Libera.Date.Api is the ultimate solution for developers building HR systems, logistics platforms, and financial applications.
Stop wrestling with leap years, timezone anomalies, and shifting public holidays. Powered by the industry-standard NodaTime engine and our proprietary Working Days System, this API delivers:
Global Awareness: Built-in support for major economies (US, UK, DE, PL, FR) with accurate holiday calendars.
Business Logic Ready: Instantly calculate SLAs and delivery dates by excluding weekends and holidays.
Precision Engineering: Get exact durations down to the minute, or broad calendar period differences (Years/Months/Days).
Smart Fallbacks: Automatically find the next available working day when deadlines hit a holiday.
All requests must be authenticated. You can use either an API Key or a Bearer Token.
| Method | Header Name | Value Format |
|---|---|---|
| API Key | X-Api-Key |
YOUR_API_KEY |
| Bearer Token | Authorization |
Bearer YOUR_JWT_TOKEN |
Base URL: http://localhost:8080 (adjust to your deployment)
Calculates the calendar difference (Years, Months, Days).
URL: /date-calculator/period/date
Method: GET
Parameters:
Start (query, required): Start date (ISO 8601, e.g., 2024-01-01)
End (query, required): End date (ISO 8601, e.g., 2025-03-15)
Request:
curl -X GET "http://localhost:8080/date-calculator/period/date?Start=2024-01-01&End=2025-03-15" \
-H "X-Secret: TEST_SECRET"
Response (200 OK):
{
"years": 1,
"months": 2,
"days": 14,
"description": "1 year, 2 months, 14 days"
}
Calculates the duration in total days, hours, and minutes.
URL: /date-calculator/period/time
Method: GET
Parameters:
Start (query): 2024-01-01T12:00:00
End (query): 2024-01-05T18:30:00
Request:
curl -X GET "<http://localhost:8080/date-calculator/period/time?Start=2024-01-01T12:00:00&End=2024-01-05T18:30:00>" \
-H "X-Secret: TEST_SECRET"
Response (200 OK):
{
"totalDays": 4,
"hours": 102,
"minutes": 6150
}
Advanced logic for business days, weekends, and public holidays.
Path Parameter: {countryCode} (e.g., PL, US, DE, UK).
Checks if a specific date is a working day. If it is not (due to weekend or holiday), it returns the date of the next immediate working day.
URL: GET /workingdays/{countryCode}/is-working-day
Parameters:
Date (required, YYYY-MM-DD)
Example Request (Checking Christmas Day in US):
bash
curl -X GET "http://localhost:8080/workingdays/US/is-working-day?Date=2025-12-25"
Response (200 OK):
json{
"date": "2025-12-25T00:00:00",
"isWorkingDay": false,
"nearestWorkingDay": "2025-12-26T00:00:00"
}
Returns detailed metadata about why a day is not a working day. It distinguishes between weekends (specifying if it's the 1st or 2nd day of the weekend) and public holidays.
URL: GET /workingdays/{countryCode}/non-working-info
Parameters:
Date (required, YYYY-MM-DD)
Example Request:
bash
curl -X GET "http://localhost:8080/workingdays/PL/non-working-info?Date=2024-05-01"
Response (200 OK):
json{
"date": "2024-05-01T00:00:00",
"isNonWorkingDay": true,
"type": "holiday",
"weekendDayNumber": null,
"holiday": {
"englishName": "Labor Day",
"localName": "Święto Pracy"
}
}
Generates a comprehensive breakdown of a date range, splitting all dates into "Working" and "Non-Working" lists. Ideal for rendering calendars or Gantt charts.
URL: GET /workingdays/{countryCode}/range
Parameters:
Start (required): Range start.
End (required): Range end.
Note: Max range is limited by server configuration (default 366 days).
Example Request:
bash
curl -X GET "http://localhost:8080/workingdays/US/range?Start=2024-07-03&End=2024-07-05"
Response (200 OK):
json{
"start": "2024-07-03T00:00:00",
"end": "2024-07-05T00:00:00",
"workingDays": [
{ "date": "2024-07-03T00:00:00" },
{ "date": "2024-07-05T00:00:00" }
],
"nonWorkingDays": [
{
"date": "2024-07-04T00:00:00",
"type": "holiday",
"englishName": "Independence Day",
"localName": "Independence Day"
}
]
}
Calculates the number of business days between two dates. (excluding weekends and holidays).
URL: /workingdays/{countryCode}/count
Method: GET
Parameters:
Start (query): 2024-05-01
End (query): 2024-05-10
Request:
curl -X GET "<http://localhost:8080/workingdays/PL/count?Start=2024-05-01&End=2024-05-10>" \
-H "X-Secret: TEST_SECRET"
Response (200 OK):
{
"totalDays": 366,
"workingDays": 253
}
Returns the count of non-working days (weekends + holidays).
URL: /workingdays/{countryCode}/off-days
Method: GET
Request:
curl -X GET "<http://localhost:8080/workingdays/PL/off-days?Start=2024-05-01&End=2024-05-10>" \
-H "X-Secret: TEST_SECRET"
Response (200 OK):
{
"totalDays": 366,
"offDays": 113
}
Returns a list of public holidays in the given range.
URL: /workingdays/{countryCode}/holidays
Method: GET
Request:
curl -X GET "<http://localhost:8080/workingdays/PL/holidays?Start=2024-01-01&End=2024-01-10>" \
-H "X-Secret: TEST_SECRET"
Response (200 OK):
[
{
"date": "2024-01-01",
"name": "New Year's Day",
"localName": "Nowy Rok"
},
{
"date": "2024-01-06",
"name": "Epiphany",
"localName": "Święto Trzech Króli"
}
]
Returns the number of weekend days (Saturdays and Sundays).
URL: /workingdays/{countryCode}/weekends
Method: GET
Request:
curl -X GET "<http://localhost:8080/workingdays/PL/weekends?Start=2024-05-01&End=2024-05-10>" \
-H "X-Secret: TEST_SECRET"
Response (200 OK):
{
"totalDays": 91,
"weekendDaysCount": 26
}
Ponto de verificação de saúde
Healthy
curl --location --request GET 'https://zylalabs.com/api/11640/edit+libera+date+and+buisness+days+calculator+api/21974/health' --header 'Authorization: Bearer YOUR_API_KEY'
Retorna se a data dada é um dia útil. Se não for, retorna o próximo dia útil mais próximo
É Dia de Trabalho - Recursos do endpoint
| Objeto | Descrição |
|---|---|
Date |
[Obrigatório] |
countryCode |
[Obrigatório] |
{"date":"2026-01-06T00:00:00","isWorkingDay":false,"nearestWorkingDay":"2026-01-07T00:00:00"}
curl --location --request GET 'https://zylalabs.com/api/11640/edit+libera+date+and+buisness+days+calculator+api/21978/is+working+day?Date=2026-01-06&countryCode=Required' --header 'Authorization: Bearer YOUR_API_KEY'
Retorna o dia útil mais próximo em ou após a data dada
Dia Útil Mais Próximo - Recursos do endpoint
| Objeto | Descrição |
|---|---|
Date |
[Obrigatório] |
countryCode |
[Obrigatório] |
{"date":"2026-01-06T00:00:00","nearestWorkingDay":"2026-01-07T00:00:00","isSameDay":false}
curl --location --request GET 'https://zylalabs.com/api/11640/edit+libera+date+and+buisness+days+calculator+api/21981/nearest+working+day?Date=2026-01-06&countryCode=Required' --header 'Authorization: Bearer YOUR_API_KEY'
Retorna se o dia é não útil e explica se é fim de semana (1º/2º dia) ou um feriado.
Informação sobre Dia Não Útil - Recursos do endpoint
| Objeto | Descrição |
|---|---|
Date |
[Obrigatório] |
countryCode |
[Obrigatório] |
{"date":"2026-01-06T00:00:00","isNonWorkingDay":true,"type":"holiday","weekendDayNumber":null,"holiday":{"englishName":"Epiphany","localName":"Święto Trzech Króli"}}
curl --location --request GET 'https://zylalabs.com/api/11640/edit+libera+date+and+buisness+days+calculator+api/21982/non+working+day+info?Date=2026-01-06&countryCode=Required' --header 'Authorization: Bearer YOUR_API_KEY'
Retorna dias úteis e dias não úteis para um intervalo de datas, limitado pelas configurações do aplicativo
Dias úteis Intervalo - Recursos do endpoint
| Objeto | Descrição |
|---|---|
Start |
[Obrigatório] |
End |
[Obrigatório] |
countryCode |
[Obrigatório] |
{"start":"2026-01-01T00:00:00","end":"2026-01-31T00:00:00","workingDays":[{"date":"2026-01-02T00:00:00"},{"date":"2026-01-05T00:00:00"},{"date":"2026-01-07T00:00:00"},{"date":"2026-01-08T00:00:00"},{"date":"2026-01-09T00:00:00"},{"date":"2026-01-12T00:00:00"},{"date":"2026-01-13T00:00:00"},{"date":"2026-01-14T00:00:00"},{"date":"2026-01-15T00:00:00"},{"date":"2026-01-16T00:00:00"},{"date":"2026-01-19T00:00:00"},{"date":"2026-01-20T00:00:00"},{"date":"2026-01-21T00:00:00"},{"date":"2026-01-22T00:00:00"},{"date":"2026-01-23T00:00:00"},{"date":"2026-01-26T00:00:00"},{"date":"2026-01-27T00:00:00"},{"date":"2026-01-28T00:00:00"},{"date":"2026-01-29T00:00:00"},{"date":"2026-01-30T00:00:00"}],"nonWorkingDays":[{"date":"2026-01-01T00:00:00","type":"holiday","englishName":"New Year's Day","localName":"Nowy Rok"},{"date":"2026-01-03T00:00:00","type":"weekend","weekendDayNumber":1},{"date":"2026-01-04T00:00:00","type":"weekend","weekendDayNumber":2},{"date":"2026-01-06T00:00:00","type":"holiday","englishName":"Epiphany","localName":"Święto Trzech Króli"},{"date":"2026-01-10T00:00:00","type":"weekend","weekendDayNumber":1},{"date":"2026-01-11T00:00:00","type":"weekend","weekendDayNumber":2},{"date":"2026-01-17T00:00:00","type":"weekend","weekendDayNumber":1},{"date":"2026-01-18T00:00:00","type":"weekend","weekendDayNumber":2},{"date":"2026-01-24T00:00:00","type":"weekend","weekendDayNumber":1},{"date":"2026-01-25T00:00:00","type":"weekend","weekendDayNumber":2},{"date":"2026-01-31T00:00:00","type":"weekend","weekendDayNumber":1}]}
curl --location --request GET 'https://zylalabs.com/api/11640/edit+libera+date+and+buisness+days+calculator+api/21983/workingdays++range?Start=2026-01-01&End=2026-01-31&countryCode=Required' --header 'Authorization: Bearer YOUR_API_KEY'
Contagem de Dias Úteis - Recursos do endpoint
| Objeto | Descrição |
|---|---|
Start |
[Obrigatório] |
End |
[Obrigatório] |
countryCode |
[Obrigatório] |
{"totalDays":366,"workingDays":251}
curl --location --request GET 'https://zylalabs.com/api/11640/edit+libera+date+and+buisness+days+calculator+api/21973/workingdays+count?Start=2025-01-01&End=2026-01-01&countryCode=Required' --header 'Authorization: Bearer YOUR_API_KEY'
Retorna o número de dias não úteis (fins de semana + feriados) no intervalo dado
dias de folga - Recursos do endpoint
| Objeto | Descrição |
|---|---|
Start |
[Obrigatório] |
End |
[Obrigatório] |
countryCode |
[Obrigatório] |
{"totalDays":366,"offDays":115}
curl --location --request GET 'https://zylalabs.com/api/11640/edit+libera+date+and+buisness+days+calculator+api/21975/off-days?Start=2025-01-01&End=2026-01-01&countryCode=Required' --header 'Authorization: Bearer YOUR_API_KEY'
Retorna o número de dias de fim de semana (por exemplo, sábado e domingo) no intervalo dado
Contagem do fim de semana - Recursos do endpoint
| Objeto | Descrição |
|---|---|
Start |
[Obrigatório] |
End |
[Obrigatório] |
countryCode |
[Obrigatório] |
{"totalDays":366,"weekendDaysCount":104}
curl --location --request GET 'https://zylalabs.com/api/11640/edit+libera+date+and+buisness+days+calculator+api/21976/weekend+count?Start=2025-01-01&End=2026-01-01&countryCode=Required' --header 'Authorization: Bearer YOUR_API_KEY'
Retorna uma lista de todos os feriados públicos dentro do intervalo de datas especificado para o país dado
Feriados públicos - Recursos do endpoint
| Objeto | Descrição |
|---|---|
Start |
[Obrigatório] |
End |
[Obrigatório] |
countryCode |
[Obrigatório] |
{"count":15,"holidays":[{"date":"2025-01-01T00:00:00","englishName":"New Year's Day","localName":"Nowy Rok"},{"date":"2025-01-06T00:00:00","englishName":"Epiphany","localName":"Święto Trzech Króli"},{"date":"2025-04-20T00:00:00","englishName":"Easter Sunday","localName":"Wielkanoc"},{"date":"2025-04-21T00:00:00","englishName":"Easter Monday","localName":"Drugi Dzień Wielkanocy"},{"date":"2025-05-01T00:00:00","englishName":"May Day","localName":"Święto Pracy"},{"date":"2025-05-03T00:00:00","englishName":"Constitution Day","localName":"Święto Narodowe Trzeciego Maja"},{"date":"2025-06-08T00:00:00","englishName":"Pentecost","localName":"Zielone Świątki"},{"date":"2025-06-19T00:00:00","englishName":"Corpus Christi","localName":"Boże Ciało"},{"date":"2025-08-15T00:00:00","englishName":"Assumption Day","localName":"Wniebowzięcie Najświętszej Maryi Panny"},{"date":"2025-11-01T00:00:00","englishName":"All Saints' Day","localName":"Wszystkich Świętych"},{"date":"2025-11-11T00:00:00","englishName":"Independence Day","localName":"Narodowe Święto Niepodległości"},{"date":"2025-12-24T00:00:00","englishName":"Christmas Eve","localName":"Wolna Wigilia"},{"date":"2025-12-25T00:00:00","englishName":"Christmas Day","localName":"Boże Narodzenie"},{"date":"2025-12-26T00:00:00","englishName":"St. Stephen's Day","localName":"Drugi Dzień Bożego Narodzenia"},{"date":"2026-01-01T00:00:00","englishName":"New Year's Day","localName":"Nowy Rok"}]}
curl --location --request GET 'https://zylalabs.com/api/11640/edit+libera+date+and+buisness+days+calculator+api/21977/public+holidays?Start=2025-01-01&End=2026-01-01&countryCode=Required' --header 'Authorization: Bearer YOUR_API_KEY'
| Cabeçalho | Descrição |
|---|---|
Authorization
|
[Obrigatório] Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito. |
Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento. O teste gratuito inclui até 50 requisições.
Cada ponto de extremidade retorna dados JSON adaptados a cálculos de datas específicos Por exemplo o ponto de extremidade "Contar Dias Úteis" retorna o total de dias úteis entre duas datas enquanto o ponto de extremidade "Listar Feriados" fornece detalhes sobre feriados dentro de um intervalo especificado
Os campos-chave variam de acordo com o ponto final Por exemplo o ponto final "Obter contagem de dias livres" retorna "totalDays" e "offDays" enquanto "Obter informações detalhadas sobre dias não laboráveis" inclui "date" "isNonWorkingDay" e detalhes de "holiday" como "englishName" e "localName"
Os parâmetros diferem por ponto de extremidade Por exemplo o ponto de extremidade "Verificar Dia Útil" requer um parâmetro "Data" enquanto o ponto de extremidade "Analisar Intervalo" precisa das datas "Início" e "Fim" Cada parâmetro deve seguir formatos específicos como AAAA-MM-DD para datas
Os dados de resposta estão estruturados no formato JSON, geralmente contendo um objeto principal com campos relevantes. Por exemplo, o endpoint "Analisar Intervalo" retorna "diasDeTrabalho" e "diasNaoTrabalho" como arrays de objetos de data, facilitando a análise e utilização
A API utiliza o motor NodaTime padrão da indústria e algoritmos proprietários para garantir cálculos de data precisos Dados para feriados públicos e fins de semana são obtidos de calendários nacionais confiáveis de mais de 100 países
Casos de uso comuns incluem calcular SLAs planejar cronogramas de entrega e gerenciar escalas de RH Por exemplo as empresas podem usar o endpoint "Contar Dias úteis" para determinar prazos levando em conta feriados e finais de semana
Os usuários podem personalizar as solicitações especificando parâmetros como intervalos de datas e códigos de país. Por exemplo, ao usar o endpoint "Listar Feriados Públicos", os usuários podem definir as datas "Início" e "Fim" para recuperar feriados relevantes para seu período específico
Os usuários podem aproveitar as respostas JSON estruturadas para integrar cálculos de datas em aplicativos Por exemplo a resposta "Obter Contagem de Finais de Semana" pode ser usada para ajustar os cronogramas de projetos contabilizando os dias não úteis em softwares de agendamento
O endpoint "Contagem de Dias de Folga" fornece o total de dias não trabalhados dentro de um intervalo de datas especificado, incluindo fins de semana e feriados. Isso ajuda as empresas a entender o potencial de paralisação durante um determinado período
Você pode usar o endpoint "Verificar Dia Útil e Encontrar o Mais Próximo". Ao fornecer uma data, a API retornará se é um dia útil e, se não for, o próximo dia útil subsequente, permitindo um agendamento eficaz
O endpoint "Analisar Faixa" permite que você analise um intervalo de datas máximo de 366 dias, conforme configurado pelas configurações do servidor. Isso é útil para gerar listas abrangentes de dias úteis e não úteis ao longo do ano
A API inclui suporte embutido para mais de 100 países, utilizando calendários nacionais confiáveis para refletir com precisão os feriados públicos. Isso garante que os cálculos para dias úteis sejam precisos e relevantes para o país especificado
A resposta inclui campos como "data", "éDiaUtil" (booleano) e "proximoDiaUtil" (data). Esta estrutura permite que os usuários avaliem rapidamente o status de uma data e planejem de acordo
Utilize o endpoint "Listar Feriados Públicos" especificando o código do país e o intervalo de datas desejado A resposta incluirá um array de feriados detalhando a data e o nome de cada feriado o que é essencial para o planejamento em torno dos dias não úteis
Este endpoint devolve metadados detalhados sobre por que uma data específica não é laborável incluindo se é um fim de semana ou um feriado junto com o nome do feriado tanto em inglês quanto no idioma local melhorando a clareza para os usuários
O endpoint "Contar Dias Úteis" retorna o número total de dias úteis entre duas datas excluindo fins de semana e feriados Esses dados podem ser usados para estabelecer prazos realistas e gerenciar as cronologias de projetos de maneira eficaz
Nível de serviço:
100%
Tempo de resposta:
360ms
Nível de serviço:
100%
Tempo de resposta:
478ms
Nível de serviço:
100%
Tempo de resposta:
2.441ms
Nível de serviço:
100%
Tempo de resposta:
203ms
Nível de serviço:
100%
Tempo de resposta:
73ms
Nível de serviço:
100%
Tempo de resposta:
209ms
Nível de serviço:
100%
Tempo de resposta:
484ms
Nível de serviço:
100%
Tempo de resposta:
657ms
Nível de serviço:
100%
Tempo de resposta:
1.113ms
Nível de serviço:
100%
Tempo de resposta:
314ms
Nível de serviço:
100%
Tempo de resposta:
1.249ms
Nível de serviço:
100%
Tempo de resposta:
163ms
Nível de serviço:
100%
Tempo de resposta:
40ms
Nível de serviço:
100%
Tempo de resposta:
1.273ms
Nível de serviço:
100%
Tempo de resposta:
255ms
Nível de serviço:
100%
Tempo de resposta:
1.905ms
Nível de serviço:
100%
Tempo de resposta:
166ms
Nível de serviço:
100%
Tempo de resposta:
4.932ms
Nível de serviço:
100%
Tempo de resposta:
533ms
Nível de serviço:
100%
Tempo de resposta:
0ms