<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: DevDarsha API</title>
    <description>The latest articles on DEV Community by DevDarsha API (@devdarsha-api).</description>
    <link>https://dev.to/devdarsha-api</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3966253%2Fde5dbe3f-f31b-4a8c-80bc-8550f3f811c3.png</url>
      <title>DEV Community: DevDarsha API</title>
      <link>https://dev.to/devdarsha-api</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devdarsha-api"/>
    <language>en</language>
    <item>
      <title>How to Find a Blue Moon Using Panchang JSON</title>
      <dc:creator>DevDarsha API</dc:creator>
      <pubDate>Wed, 03 Jun 2026 10:03:15 +0000</pubDate>
      <link>https://dev.to/devdarsha-api/how-to-find-a-blue-moon-using-panchang-json-51g0</link>
      <guid>https://dev.to/devdarsha-api/how-to-find-a-blue-moon-using-panchang-json-51g0</guid>
      <description>&lt;p&gt;&lt;strong&gt;How to Find a Blue Moon Using Panchang JSON&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;Blue Moon&lt;/strong&gt; is often misunderstood.&lt;/p&gt;

&lt;p&gt;It does not usually mean that the Moon turns blue in color. In common modern calendar usage, a Blue Moon means the &lt;strong&gt;second Full Moon in the same Gregorian calendar month&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This is a useful example where modern calendar logic and Indian Panchang data can be compared.&lt;/p&gt;

&lt;p&gt;In the Panchang system, the Full Moon is represented by &lt;strong&gt;Purnima Tithi&lt;/strong&gt;. So if we can detect two Purnima dates inside one Gregorian month, we can identify the second one as the Blue Moon reference.&lt;/p&gt;

&lt;p&gt;For this example, we will use &lt;strong&gt;Kolkata, India&lt;/strong&gt; and the month of &lt;strong&gt;May 2026&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Live reference:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://platform.devdarsha.com/playground
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What We Are Checking&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The rule is simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;If one Gregorian month has two Full Moon / Purnima dates,
the second one is called a Blue Moon.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So for May 2026, we need to check whether there are two Purnima dates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## First Purnima: 1 May 2026&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;From &lt;a href="https://platform.devdarsha.com/playground" rel="noopener noreferrer"&gt;DevDarsha Panchang JSON&lt;/a&gt; for Kolkata:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"date"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2026-05-01"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"weekday"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Friday"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"timezone"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Asia/Kolkata"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"city"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Kolkata"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tags"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="s2"&gt;"shukla_paksha"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="s2"&gt;"purnima"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tithi"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"number"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Purnima"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"paksha"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Shukla"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"start"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"01-05-2026 05:04:20"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"end"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"01-05-2026 22:54:20"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This confirms that &lt;strong&gt;1 May 2026&lt;/strong&gt; is a &lt;strong&gt;Purnima&lt;/strong&gt; date for Kolkata.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## Second Purnima: 31 May 2026&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now check another date in the same Gregorian month:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"date"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2026-05-31"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"weekday"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Sunday"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"timezone"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Asia/Kolkata"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"city"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Kolkata"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tags"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="s2"&gt;"shukla_paksha"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="s2"&gt;"purnima"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tithi"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"number"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Purnima"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"paksha"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Shukla"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"start"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"31-05-2026 04:51:47"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"end"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"31-05-2026 14:16:09"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"number"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pratipada"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"paksha"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Krishna"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"start"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"31-05-2026 14:16:09"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"end"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"01-06-2026 16:38:39"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This confirms that &lt;strong&gt;31 May 2026&lt;/strong&gt; is also a &lt;strong&gt;Purnima&lt;/strong&gt; date for Kolkata.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Result&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;May 2026 has two Purnima dates for Kolkata:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;Panchang Result&lt;/th&gt;
&lt;th&gt;Calendar Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1 May 2026&lt;/td&gt;
&lt;td&gt;Purnima&lt;/td&gt;
&lt;td&gt;First Full Moon of May 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31 May 2026&lt;/td&gt;
&lt;td&gt;Purnima&lt;/td&gt;
&lt;td&gt;Second Full Moon of May 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Therefore:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;31 May 2026 = Blue Moon reference for Kolkata
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How a User Can Find a Blue Moon&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A user can follow this method:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select a city.&lt;/li&gt;
&lt;li&gt;Check each date in a Gregorian month.&lt;/li&gt;
&lt;li&gt;Look for Panchang JSON where &lt;code&gt;tithi.name&lt;/code&gt; is &lt;code&gt;Purnima&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Count how many Purnima dates occur in that same month.&lt;/li&gt;
&lt;li&gt;If there are two, the second Purnima is the Blue Moon.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In JSON terms, look for either:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"tags"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"shukla_paksha"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"purnima"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"tithi"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Purnima"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"paksha"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Shukla"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;## Simple JavaScript Logic&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here is a basic example of how this can be detected programmatically:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;monthData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;date&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2026-05-01&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;city&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Kolkata&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;shukla_paksha&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;purnima&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="na"&gt;tithi&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Purnima&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;paksha&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Shukla&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;}]&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;date&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2026-05-31&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;city&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Kolkata&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;shukla_paksha&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;purnima&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="na"&gt;tithi&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Purnima&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;paksha&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Shukla&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Pratipada&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;paksha&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Krishna&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;purnimaDates&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;monthData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;day&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;
  &lt;span class="nx"&gt;day&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;purnima&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt;
  &lt;span class="nx"&gt;day&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tithi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;some&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;t&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Purnima&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;purnimaDates&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;blueMoonDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;purnimaDates&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;date&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Blue Moon reference date: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;blueMoonDate&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Blue Moon reference date: 2026-05-31
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Panchang vs Blue Moon&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The important point is that &lt;strong&gt;Blue Moon&lt;/strong&gt; is not originally a Panchang term.&lt;/p&gt;

&lt;p&gt;It is based on the Gregorian calendar.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;Panchang System&lt;/th&gt;
&lt;th&gt;Blue Moon Concept&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Basis&lt;/td&gt;
&lt;td&gt;Tithi&lt;/td&gt;
&lt;td&gt;Gregorian calendar month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Full Moon term&lt;/td&gt;
&lt;td&gt;Purnima&lt;/td&gt;
&lt;td&gt;Full Moon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cycle&lt;/td&gt;
&lt;td&gt;Lunar&lt;/td&gt;
&lt;td&gt;Calendar-month comparison&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Detection&lt;/td&gt;
&lt;td&gt;Shukla Paksha Purnima&lt;/td&gt;
&lt;td&gt;Second Full Moon in same month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Example&lt;/td&gt;
&lt;td&gt;1 May and 31 May 2026 are Purnima&lt;/td&gt;
&lt;td&gt;31 May 2026 is the Blue Moon&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;So the Panchang helps identify the Full Moon dates, while the Gregorian calendar decides whether the second one is called a Blue Moon.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why City and Timezone Matter&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lunar events should be checked city-wise because Panchang calculations depend on location and timezone.&lt;/p&gt;

&lt;p&gt;For this example, the data is for:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;City: Kolkata
Timezone: Asia/Kolkata
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A different city or timezone may shift the local calendar date for certain lunar events, especially when the Tithi starts or ends near sunrise or midnight.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live JSON Reference&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can verify this using DevDarsha Playground:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://platform.devdarsha.com/playground
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use these two dates for Kolkata:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2026-05-01
2026-05-31
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both dates return &lt;strong&gt;Purnima&lt;/strong&gt; in the Panchang data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DevDarsha Playground&lt;br&gt;
&lt;a href="https://platform.devdarsha.com/playground" rel="noopener noreferrer"&gt;https://platform.devdarsha.com/playground&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NASA Moon Phases&lt;br&gt;
&lt;a href="https://science.nasa.gov/moon/moon-phases/" rel="noopener noreferrer"&gt;https://science.nasa.gov/moon/moon-phases/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Timeanddate Blue Moon Explanation&lt;br&gt;
&lt;a href="https://www.timeanddate.com/astronomy/moon/blue-moon.html" rel="noopener noreferrer"&gt;https://www.timeanddate.com/astronomy/moon/blue-moon.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Timeanddate Kolkata Moon Phases&lt;br&gt;
&lt;a href="https://www.timeanddate.com/moon/phases/india/kolkata" rel="noopener noreferrer"&gt;https://www.timeanddate.com/moon/phases/india/kolkata&lt;/a&gt;&lt;/p&gt;

</description>
      <category>astronomy</category>
      <category>calendar</category>
      <category>api</category>
      <category>json</category>
    </item>
    <item>
      <title>How to Get Hindu Calendar and Panchang Data as JSON</title>
      <dc:creator>DevDarsha API</dc:creator>
      <pubDate>Wed, 03 Jun 2026 09:56:17 +0000</pubDate>
      <link>https://dev.to/devdarsha-api/how-to-get-hindu-calendar-and-panchang-data-as-json-2ll3</link>
      <guid>https://dev.to/devdarsha-api/how-to-get-hindu-calendar-and-panchang-data-as-json-2ll3</guid>
      <description>&lt;p&gt;When building Indian calendar apps, astrology tools, festival pages, or regional date features, one common problem appears very quickly: normal Gregorian dates are not enough.&lt;/p&gt;

&lt;p&gt;A Hindu calendar page usually needs more than day, month, and year. It may need Tithi, Nakshatra, Yoga, Karana, Vara, Paksha, sunrise, sunset, moon phase, and festival logic. These values can also change by location, because sunrise time and local calendar rules matter.&lt;/p&gt;

&lt;p&gt;That is why using structured &lt;a href="https://platform.devdarsha.com/playground" rel="noopener noreferrer"&gt;Panchang data through JSON&lt;/a&gt; is easier than manually maintaining static festival tables.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What data is usually needed?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A useful Panchang API response should include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tithi&lt;/li&gt;
&lt;li&gt;Nakshatra&lt;/li&gt;
&lt;li&gt;Yoga&lt;/li&gt;
&lt;li&gt;Karana&lt;/li&gt;
&lt;li&gt;Vara&lt;/li&gt;
&lt;li&gt;Paksha&lt;/li&gt;
&lt;li&gt;Sunrise and sunset&lt;/li&gt;
&lt;li&gt;Moon data&lt;/li&gt;
&lt;li&gt;Festival information&lt;/li&gt;
&lt;li&gt;Location-based calculation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, a calendar app may need to answer a simple question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What is the Hindu calendar date for this city on this Gregorian date?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But internally, that answer depends on astronomical calculations and traditional Panchang rules.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why JSON helps developers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JSON makes the data easy to use in websites, mobile apps, dashboards, and backend services.&lt;/p&gt;

&lt;p&gt;A frontend app can call an API and show the result directly. A backend system can store the response, compare dates, or generate monthly calendar views.&lt;/p&gt;

&lt;p&gt;Example use cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hindu calendar websites&lt;/li&gt;
&lt;li&gt;Festival reminder apps&lt;/li&gt;
&lt;li&gt;Panchang widgets&lt;/li&gt;
&lt;li&gt;Astrology dashboards&lt;/li&gt;
&lt;li&gt;Regional calendar tools&lt;/li&gt;
&lt;li&gt;Date conversion features&lt;/li&gt;
&lt;li&gt;Educational calendar pages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Testing Panchang data live&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I am building DevDarsha API for this exact use case. It provides Panchang and Hindu calendar data through structured JSON endpoints.&lt;/p&gt;

&lt;p&gt;You can test a live Panchang response here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://platform.devdarsha.com/playground" rel="noopener noreferrer"&gt;https://platform.devdarsha.com/playground&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The documentation is available here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://platform.devdarsha.com/documentation" rel="noopener noreferrer"&gt;https://platform.devdarsha.com/documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basic integration idea&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A simple integration usually follows this flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select a Gregorian date.&lt;/li&gt;
&lt;li&gt;Select a city or location.&lt;/li&gt;
&lt;li&gt;Send the request to the Panchang API.&lt;/li&gt;
&lt;li&gt;Read the JSON response.&lt;/li&gt;
&lt;li&gt;Display Tithi, Nakshatra, sunrise, sunset, and festival data in the app.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This keeps the application clean because the calendar logic stays inside the API layer instead of being hardcoded inside the frontend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final note&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For small personal projects, static Hindu calendar data may be enough. But for apps that need city-based results, festival accuracy, or future date calculations, an API-based approach is easier to maintain.&lt;/p&gt;

</description>
      <category>api</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>calender</category>
    </item>
  </channel>
</rss>
