Java Get Help with Java Script Code: Calculate Day Count Since 1922 Dec. 18

  • Thread starter Thread starter Helios
  • Start date Start date
  • Tags Tags
    Code Java
AI Thread Summary
The discussion revolves around a JavaScript code snippet designed to calculate the number of days since December 18, 1922, and to derive the Brown Lunation Number (BLN) from that count. The original code uses `document.write` to display the day count, but issues arose when trying to integrate the BLN calculation, resulting in "NaN" outputs. Suggestions were made to replace `document.write` with a method that creates a new HTML element for better output handling. The final solution involved modifying the code to ensure proper calculation and display of the BLN, emphasizing the distinction between Java and JavaScript. The conversation highlights the importance of correct coding practices in JavaScript for accurate functionality.
Helios
Messages
267
Reaction score
63
Dear Computer People,
I know nothing about Java. What I understand what "Java script" means is something that one can paste into an html document or web page. What I have is a Java script code that displays a day count since 1922 December 18. Here it is.

<script>
var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
function countup(yr,m,d){
var today=new Date()
var todayy=today.getYear()
if (todayy < 1000)
todayy+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todaystring=montharray[todaym]+" "+todayd+", "+todayy
var paststring=montharray[m-1]+" "+d+", "+yr
var difference=(Math.round((Date.parse(todaystring)-Date.parse(paststring))/(24*60*60*1000))*1)
difference+=" Days"
document.write("The Day Count is "+difference+" at present.")
}
//enter the count up date using the format year/month/day
countup(1922,12,18)
</script>

As you can see (1922, 12, 18) is in the last line of code.
Now I would think that this day count D could be used in the function,

BLN = D*( 1749 / 51649 ) - 781 / 51649

where BLN is the "Brown Lunation Number",
and the altered code could yield an output that would appear as ( for example )

Today's Brown Lunation Number is 1075 & 48302 / 51649

If anyone can offer this Java script code, I am grateful.
 
Technology news on Phys.org
Not sure if I got the math right, but:

function bln(d) {
var n = d * ( 1749 / 51649 ) - 781 / 51649;
var frac = (n - parseInt(n,10));
var denom = 51649;
var numer = frac * denom;

return "Today's Brown Lunation Number is " + parseInt(n,10) + " & " + parseInt(numer,10) + " / " + denom;
}

P.S. Java and javascript are completely different languages
 
Last edited:
Dear David,
This is the page I put the code on.

http://www.helios.netne.net/brown.htm

Unfortunately, it doesn't show the output.
 
Replace
document.write("The Day Count is "+difference+" at present.")
with
document.write(bln(difference))
 
Dear David,
The output is now
Today's Brown Lunation Number is NaN & NaN / 51649

http://www.helios.netne.net/brown.htm
 
try taking out difference+=" Days"
 
Oh! I think it works. Thanks so much.
 
Helios said:
Oh! I think it works. Thanks so much.

Also, I would suggest that in your javascript replace document.write(bln(difference)) with:

var elm = document.createElement("div");
elm.innerHTML = bln(difference);
document.body.appendChild(elm);

Document.write causes problems.
 
Back
Top