# Adding JAVA Script code to determine Life Path calculation

**URL:** <https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521>\
**Category:** Ask for Help\
**Created:** [July 29, 2025, 10:32am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521 "2025-07-29T10:32:55Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![simonpate](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simonpate/32/90788_2.png) [@simonpate](https://community.glideapps.com/u/simonpate)\
**Post date:** [July 29, 2025, 10:32am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/1 "2025-07-29T10:32:55Z")

</div>

I have tried to do the Math Calculation but this is a bit complex to work out in Glide.

function getLifePath(dob) {  
const digits = dob.replace(/-/g, ‘’).split(‘’).map(Number);  
const reduce = n =\> {  
if ([11, 22, 33].includes(n)) return n;  
while (n \> 9) {  
n = n.toString().split(‘’).reduce((a, b) =\> a + Number(b), 0);  
}  
return n;  
};

const date = new Date(dob);  
const day = date.getDate();  
const month = date.getMonth() + 1;  
const year = date.getFullYear();

const daySum = reduce(day);  
const monthSum = reduce(month);  
const yearDigits = year.toString().split(‘’).map(Number);  
const yearSum = reduce(yearDigits.reduce((a, b) =\> a + b, 0));

const total = reduce(daySum + monthSum + yearSum);  
return total;  
}

return getLifePath(p1); // p1 = Date of Birth input

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [July 29, 2025, 10:37am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/2 "2025-07-29T10:37:57Z")

</div>

You posted this in #Ask for Help. Did you have a question?

---

<div class="post-metadata">

**Author:** ![simonpate](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simonpate/32/90788_2.png) [@simonpate](https://community.glideapps.com/u/simonpate)\
**Post date:** [July 29, 2025, 11:58am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/3 "2025-07-29T11:58:28Z")

</div>

Yes code I got from ChatGPT to use with glide Java script however it will not compile. I am trying to calculate a life path number which is basically adding up all the numbers in your date of birth as single digits until you are left with 2 digits. If the remaining digits are 11 or 22 or 33 these are master number and are not added together. If the remaining digitals are not these above you add them into a life path number.

![Life Path Number Numerology Calculator: Meanings In Life & Love](data:image/jpeg;base64,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jOdqlPoUR7M49lVXhpxEtmkrDIt8+JLecdlKeCmQnGChCcdSOvkmt2mRI06MuNNjsyGF43NPIC0qwcjIPQ9QDUZ9yemv/wAPWn/+C3/DQVfiBdmb5wimXOO2ttqShlaUuY3Ac9A64+iong5BRc+G95gOJCkyZTzWD62WxWmKtdvXb/i5cCKqDgDsxZSWsA5Hk4x39a/Vvt0G2Mlm3Q48RpSt5bjtJbSVdBnAHf0HuoMb4ATlM3a7WxxSklxlLobV4FCtp9vlD3eqttrgi2S0w5apcS1wmJSs7nmo6ErOe/KgM9a76BSlKBSlKBSlKBSlKDp7E98331/ewvfN99SVKCN7C983307C98331JVzzZ8OA2HJ0tiMg5wp5wIHTv6mg5ewvfN99OwvfN99fqBfLRcji3XSDLPdiPIQ5/YakKCN7C983307C98331JVx3G6221oC7ncIkNB7lSXktg/1iKD49he+b76dhe+b767mHmpDSXWHUOtq7loUFA+0V9KCN7C983307C98331/JuobJb1lE+8W6KsHaUvykIIPo6muqDcIVwa5sCXHlN4B3sOpWMHu6g0HN2F75vvp2F75vvqSpQRvYXvm++nYXvm++v3c73aLSptN1ukGEpwEoEmQhsqA78biM10vyo8aKuVIkNNRkJ3qecWEoSn0knpig4+wvfN99OwvfN99fe23O33VhT9rnRZrKVbFORnkuJCsA4yknrgjp6666CN7C983307C98331JUoI3sL3zffTsL3zffUlSgjewvfN99OwvfN99SVKCN7C983307C98331JUoI3sL3zffTsL3zffR7UFlYuItz93t7c8qSgRVykB0qVjaNhOcnIwPHIqSoI3sL3zffTsL3zffUlSgjewvfN99OwvfN99SVKCN7C983307C98331JUoI3sL3zffTsL3zffUlSgjewvfN99OwvfN99SVKCN7C983307C98331JUoI3sL3zffTsL3zffUlSgjewvfN99OwvfN99SVKCN7C983307C98331JUoI3sL3zffTsL3zffUlSgjewvfN99OwvfN99SVKBSlKBWHfCa/Jv9K/dVuNYd8Jr8m/0r91QQV84XtQOHtv1ZZZssyhEYlyGnFJ6bkpJKCACNpOeueg7603grquVqfSqk3JwuzYLvJcdJ6uJxlKj6+8ezNfde08D/Lxj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)

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [July 29, 2025, 4:03pm UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/4 "2025-07-29T16:03:37Z")

</div>

What error do you get? What does the DOB value look like that you passing into the P1 parameter?

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 29, 2025, 11:35pm UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/5 "2025-07-29T23:35:18Z")

</div>

![CleanShot 2025-07-30 at 06.34.46](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/4/4/441d99905cf014990bc7decc51d4f82497c693cb.png)

Please try this.

```auto
function calculateLifePathNumber(zuluDate) {
  const date = new Date(zuluDate);
  const month = date.getUTCMonth() + 1;
  const day = date.getUTCDate();
  const year = date.getUTCFullYear();

  const sumDigits = n => n.toString().split('').reduce((a, b) => a + Number(b), 0);

  const monthValue = month;
  const dayValue = sumDigits(day);
  const yearValue = sumDigits(year);

  return monthValue + dayValue + yearValue;
}

return calculateLifePathNumber(p1)

```

With p1 being the DOB.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 29, 2025, 11:40pm UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/6 "2025-07-29T23:40:34Z")

</div>

![CleanShot 2025-07-30 at 06.40.14](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/8/2/823f8c1ae3358b92e642a1d5a3128a6310bd0aea.png)

Here’s a full thing packed in a Math column.

```auto
MONTH(D)
+ FLOOR(DAY(D) / 10) + MOD(DAY(D), 10)
+ FLOOR(YEAR(D) / 1000)
+ FLOOR(MOD(YEAR(D), 1000) / 100)
+ FLOOR(MOD(YEAR(D), 100) / 10)
+ MOD(YEAR(D), 10)

```

---

<div class="post-metadata">

**Author:** ![simonpate](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simonpate/32/90788_2.png) [@simonpate](https://community.glideapps.com/u/simonpate)\
**Post date:** [July 29, 2025, 11:48pm UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/7 "2025-07-29T23:48:55Z")

</div>

> [@ThinhDinh](#):
>
> ```auto
> MONTH(D)
> + FLOOR(DAY(D) / 10) + MOD(DAY(D), 10)
> + FLOOR(YEAR(D) / 1000)
> + FLOOR(MOD(YEAR(D), 1000) / 100)
> + FLOOR(MOD(YEAR(D), 100) / 10)
> + MOD(YEAR(D), 10)
> 
> ```

Thank you very much I have it working down to the 2 digits, however if the life path is not a Master Number (11, 22, 33) it should be added together for example 36 should be 3 + 6 = 9

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 29, 2025, 11:54pm UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/8 "2025-07-29T23:54:28Z")

</div>

![CleanShot 2025-07-30 at 06.54.04](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/b/7b23c5b1c95e8aba5d554a2d9ce0f43b6d0560bc.png)

```auto
function calculateLifePathNumber(zuluDate) {
  const date = new Date(zuluDate);
  const month = date.getUTCMonth() + 1;
  const day = date.getUTCDate();
  const year = date.getUTCFullYear();

  const sumDigits = n => n.toString().split('').reduce((a, b) => a + Number(b), 0);

  const monthValue = month;
  const dayValue = sumDigits(day);
  const yearValue = sumDigits(year);

  let total = monthValue + dayValue + yearValue;

  const isMasterNumber = n => n === 11 || n === 22 || n === 33;

  if (!isMasterNumber(total)) {
    while (total > 9) {
      total = sumDigits(total);
      if (isMasterNumber(total)) break;
    }
  }

  return total;
}

return calculateLifePathNumber(p1)

```

Let me know if this looks correct.

---

<div class="post-metadata">

**Author:** ![simonpate](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simonpate/32/90788_2.png) [@simonpate](https://community.glideapps.com/u/simonpate)\
**Post date:** [July 30, 2025, 12:14am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/9 "2025-07-30T00:14:45Z")

</div>

> [@ThinhDinh](#):
>
> ```auto
> MONTH(D)
> + FLOOR(DAY(D) / 10) + MOD(DAY(D), 10)
> + FLOOR(YEAR(D) / 1000)
> + FLOOR(MOD(YEAR(D), 1000) / 100)
> + FLOOR(MOD(YEAR(D), 100) / 10)
> + MOD(YEAR(D), 10)
> 
> ```

LEGEND THANKS 👏 👏 👏

---

<div class="post-metadata">

**Author:** ![Nicolas\_Joseph](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nicolas_joseph/32/76105_2.png) [@Nicolas\_Joseph](https://community.glideapps.com/u/Nicolas_Joseph)\
**Post date:** [July 30, 2025, 12:22am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/10 "2025-07-30T00:22:36Z")

</div>

Hi @simonpate and welcome! 🙂

JavaScript is a powerful tool for solving tricky problems in Glide. I’m not sure this case is one of them though, since it’s mostly just arithmetic and logic.  
Still, I have to admit the way the calculation works presents some interesting challenges 😏

Here’s a step-by-step approach, using… 13 columns **in addition to** the `Date of birth` column.

### Expected result

 ![Life Path Number](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/1/5/15b8e2142ae5aa9512b432985fc7ff2024263118.png)

  

### Walkthrough

1. Create 3 columns to isolate the parts of `Date of birth`:

  

1. To calculate the sum of digits (e.g. : 2025 must become 2+0+2+5 = 9), let’s add 3 other columns, _Math_ again, one for each part of the date:

  

1. Despite this nice trick, we need to check if the sum of digits for year is not 11 or 22. Prior to that, let’s add a new _Math_ column. Let name it `Sum Digits Year` and use this calculation:

```JS
MOD(y,10)
+ (MOD(y / 10,10) - MOD(MOD(y / 10,10), 1))
+ (MOD(y / 100,10) - MOD(MOD(y / 100,10), 1))
+ (MOD(y / 1000,10) - MOD(MOD(y / 1000,10), 1))

```

 ![Sum Digits Year](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/c/6cbc1b7de8f9a556ebafddcb02cd05a48379c392.png)

  

1. Now it’s time to get the result for each part of the date that deals with values such as 11, 22 or 33. Let’s create 3 new columns, this time _If → Then → Else_ ones:

  

1. We can now sum all the parts we have computed. Create a _Math_ column `Digital Root Sum (all digits)` to achieve this. The formula is `ny + nm + nd` and here is the screenshot:  
 ![Digital Root Sum (all digits)](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/5/2/5268887befe1c02fb4424c1a9b938705d431f62d.png)

  

1. Some sums are greater than 10 so we need to reduce them. Once again, let’s add a _Math_ colmun to apply the same logic we have already used:  
`Digital Root Sum (1 digit)`  
 ![Digital Root Sum (1 digit)](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/a/6a3b23c885493c75a73ead0328c233d7c703759b.png)

  

1. And it’s almost the end. Last step is to define which value we get at the end, depending on the result. Either we obtain 11, 22 or 33 and it must stay that way, or we’ll have to Digital Root. It’s an _If → Then → Else_ column, with a set up close to what we have done before:  
`Life Path Number`  
 ![Life Path Number](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/c/6c3bdfc40500915d842abcc6014dc6542d035a1e.png)

  

As you can see in the first screenshot, this approach seems to work well.  
That said, I’m not very familiar with the purpose of this calculation, so I might have missed something 🤔  
Also, here is the source I used to help me with this answer: [https://www.tokenrock.com/numerology/life-path-number-calculator/](https://www.tokenrock.com/numerology/life-path-number-calculator/)

Could you give it a try and let us know if it works for you too?

---

<div class="post-metadata">

**Author:** ![simonpate](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simonpate/32/90788_2.png) [@simonpate](https://community.glideapps.com/u/simonpate)\
**Post date:** [July 30, 2025, 1:27am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/11 "2025-07-30T01:27:48Z")

</div>

Thank you all so much I really wanted the calculation in a java script so that I can have the calculation working for the particular field instead of adding so many columns and calcuations into my tables to get the result.

---

<div class="post-metadata">

**Author:** ![simonpate](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simonpate/32/90788_2.png) [@simonpate](https://community.glideapps.com/u/simonpate)\
**Post date:** [July 30, 2025, 7:30am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/12 "2025-07-30T07:30:17Z")

</div>

On a similar topic I am trying to determine the zodiac sign based on the DOB, please note dd/mm/yyyy field.

I used this code but it does not work I keep getting Capricorn for every date entered so some logic must be wrong to exit the if once found.

function zodiacSign(p1) {  
var parts = p1.split(“/”);  
var day = parseInt(parts[0], 10);  
var month = parseInt(parts[1], 10);

if ((month === 1 && day \>= 20) || (month === 2 && day \<= 18)) return “Aquarius”;  
if ((month === 2 && day \>= 19) || (month === 3 && day \<= 20)) return “Pisces”;  
if ((month === 3 && day \>= 21) || (month === 4 && day \<= 19)) return “Aries”;  
if ((month === 4 && day \>= 20) || (month === 5 && day \<= 20)) return “Taurus”;  
if ((month === 5 && day \>= 21) || (month === 6 && day \<= 20)) return “Gemini”;  
if ((month === 6 && day \>= 21) || (month === 7 && day \<= 22)) return “Cancer”;  
if ((month === 7 && day \>= 23) || (month === 8 && day \<= 22)) return “Leo”;  
if ((month === 8 && day \>= 23) || (month === 9 && day \<= 22)) return “Virgo”;  
if ((month === 9 && day \>= 23) || (month === 10 && day \<= 22)) return “Libra”;  
if ((month === 10 && day \>= 23) || (month === 11 && day \<= 21)) return “Scorpio”;  
if ((month === 11 && day \>= 22) || (month === 12 && day \<= 21)) return “Sagittarius”;  
return “Capricorn”;  
}

return zodiacSign(p1);

---

<div class="post-metadata">

**Author:** ![simonpate](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simonpate/32/90788_2.png) [@simonpate](https://community.glideapps.com/u/simonpate)\
**Post date:** [July 30, 2025, 7:31am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/13 "2025-07-30T07:31:44Z")

</div>

![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/d/c/dc595226d0204973a10f446fc0eb7186de6d011d.png)

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [July 30, 2025, 7:48am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/14 "2025-07-30T07:48:17Z")

</div>

What you need to be aware of is that what you see in the Data Editor is not necessarily the same as the actual stored value. This is particularly true with dates.

Try this: double click on one of the values in your DOB column. I would bet that what you see is completely different to the displayed value. Probably something like `1977-02-03T00:00:00Z` (depending on how the value was entered). It is this value that is passed to the JavaScript column, not the displayed value. So most likely, the following lines are not returning what you expect:

> [@simonpate](#):
>
> var day = parseInt(parts[0], 10);  
> var month = parseInt(parts[1], 10);

To fix it, you most likely need to adjust those.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 30, 2025, 2:13pm UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/15 "2025-07-30T14:13:09Z")

</div>

![CleanShot 2025-07-30 at 21.12.45](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/1/1/11f54fc53e13ad2ba8f9d96cfe2d5eb9fec3ab1e.png)

Try this.

```auto
function getZodiacSign(dob) {
  const date = new Date(dob);
  const day = date.getUTCDate();
  const month = date.getUTCMonth() + 1;

  const zodiac = [
    { sign: "Capricorn", from: [12, 22], to: [1, 19] },
    { sign: "Aquarius", from: [1, 20], to: [2, 18] },
    { sign: "Pisces", from: [2, 19], to: [3, 20] },
    { sign: "Aries", from: [3, 21], to: [4, 19] },
    { sign: "Taurus", from: [4, 20], to: [5, 20] },
    { sign: "Gemini", from: [5, 21], to: [6, 20] },
    { sign: "Cancer", from: [6, 21], to: [7, 22] },
    { sign: "Leo", from: [7, 23], to: [8, 22] },
    { sign: "Virgo", from: [8, 23], to: [9, 22] },
    { sign: "Libra", from: [9, 23], to: [10, 22] },
    { sign: "Scorpio", from: [10, 23], to: [11, 21] },
    { sign: "Sagittarius", from: [11, 22], to: [12, 21] }
  ];

  for (let i = 0; i < zodiac.length; i++) {
    const { sign, from, to } = zodiac[i];
    if (
      (month === from[0] && day >= from[1]) ||
      (month === to[0] && day <= to[1])
    ) {
      return sign;
    }
  }
  return "";
}

return getZodiacSign(p1)

```

---

<div class="post-metadata">

**Author:** ![simonpate](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simonpate/32/90788_2.png) [@simonpate](https://community.glideapps.com/u/simonpate)\
**Post date:** [July 31, 2025, 1:14am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/16 "2025-07-31T01:14:44Z")

</div>

Awesome thank you so much, I got it working with a few more columns but this is perfect.

👏 👏 👏

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/system/32/53398_2.png) [@system](https://community.glideapps.com/u/system)\
**Post date:** [August 7, 2025, 1:14am UTC](https://community.glideapps.com/t/adding-java-script-code-to-determine-life-path-calculation/83521/17 "2025-08-07T01:14:56Z")

</div>

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.
