Javascript计算一年过了多少天以及星座

本文介绍了一个用于计算特定日期属于哪个星座的JavaScript函数。通过计算一年中某一天的具体位置来判断其所属星座,并提供了一个测试案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

marginwidth="0" marginheight="0" src="http://218.16.120.35:65001/PC/Global/images/b.html" frameborder="0" width="728" scrolling="no" height="90">

<script type="text/javascript">
//求1年过了多少天    
function CalculateDays( y , m ,d ){   
   var isLeep = (  ( (y%4==0) && ( y%100!=0) ) || (y%400==0 ) );   
   var days=d;   
   for( var i = 1 ; i< m ; i++ ){   
      if( i==2 ){   
        if (isLeep)   
           days+=29;   
        else  
          days+=28;   
      }   
      else if ( m==4 || m==6 || m==9 || m==11)     
        days+=30;   
      else  
        days+=31;   
   }   
   return days;   
}   

   
  
var Atom = {   
  _atom:[   
        {d1:[12,22],d2:[1,19],atom:"魔羯座"},   
        {d1:[1,20],d2:[2,19],atom:"水瓶座"},   
        {d1:[2,20],d2:[3,20],atom:"双鱼座"},   
        {d1:[3,21],d2:[4,20],atom:"白羊座"},   
        {d1:[4,21],d2:[5,20],atom:"金牛座"},   
        {d1:[5,21],d2:[6,21],atom:"双子座"},   
        {d1:[6,22],d2:[7,22],atom:"巨蟹座"},   
        {d1:[7,23],d2:[8,22],atom:"狮子座"},   
        {d1:[8,23],d2:[9,22],atom:"处女座"},   
        {d1:[9,23],d2:[10,22],atom:"天秤座"},   
        {d1:[10,23],d2:[11,21],atom:"天蝎座"},   
        {d1:[11,21],d2:[12,21],atom:"射手座"}                
        ],   
  checkAtom:function(y,m,d){    
     var days = CalculateDays( y , m , d );       
     if ( m==12 && d>=22 )   
        return "魔羯座";   
     if ( m==1 && d<=19 )   
        return "魔羯座";   
     for( var i = 1 ; i< Atom._atom.length-1 ; i++ ){   
         var d1 = CalculateDays( y , Atom._atom[i].d1[0] , Atom._atom[i].d1[1] );   
         var d2 = CalculateDays( y , Atom._atom[i].d2[0] , Atom._atom[i].d2[1] );   
       
         if ( d1==days ){   
             return Atom._atom[i].atom;   
         }   
         else if ( d1 < days ){
    if ( days <= d2 )   
               return  Atom._atom[i].atom;   
         }      
     }      
  }   
}
//测试
var message = "2007-9-18过了多少天:" + CalculateDays(2007,9,18);
 
message += "/n/n2007-9-18是" + Atom.checkAtom(2007,9,18);
alert(message);
//计算星座
</script> 

### 回答1: 我不是很了解JavaScript,但是可以提供一些帮助。可以使用JavaScript中的Date()函数来计算某年某月某日是这一年多少:var today = new Date(year, month, day);var start = new Date(year, 0, 0);var diff = today - start;var oneDay = 1000 * 60 * 60 * 24;var dayOfYear = Math.floor(diff / oneDay);console.log(dayOfYear); ### 回答2: 为了计算某年某月某日是这一年多少,你可以使用JavaScript的内置日期对象Date()。下面是一个实现的例子: ```javascript function calculateDays(year, month, day) { // 创建日期对象 var currentDate = new Date(year, month - 1, day); // 获取年份和下一年的第一 var currentYear = currentDate.getFullYear(); var nextYear = currentYear + 1; var nextYearFirstDay = new Date(nextYear, 0, 1); // 计算多少 var days = Math.floor((nextYearFirstDay - currentDate) / (1000 * 60 * 60 * 24)); return days; } // 示例调用 var year = 2022; var month = 4; var day = 15; var result = calculateDays(year, month, day); console.log(year + "/" + month + "/" + day + "是这一年的第" + result + "。"); ``` 在这个例子中,我们首先创建了一个新的日期对象`currentDate`,并将年、月、日传递给构造函数。注意,月份是从0开始计数的,所以我们要将传入的月份减1。然后,我们获取年份和下一年的第一的日期对象`nextYearFirstDay`。通过计算两个日期对象之间的毫秒数差值,除以每的毫秒数,我们可以得到`currentDate`是这一年的第几。最后,我们返回这个数值。 运行这段代码,输出结果为:"2022/4/15是这一年的第105。" ### 回答3: 在JavaScript中,可以使用以下函数来计算某年某月某日是这一年多少: ```javascript function calculateDays(year, month, day) { // 创建一个新的日期对象 var date = new Date(year, month - 1, day); // 获取当年的最后一 var endDate = new Date(year, 11, 31); // 计算数差 var days = Math.floor((endDate - date) / (24 * 60 * 60 * 1000)); // 返回数差+1 return days + 1; } // 示例用法 var year = 2022; var month = 8; var day = 20; var result = calculateDays(year, month, day); console.log(result); // 输出:133 ``` 上面的代码中,首先创建一个新的日期对象,表示输入的年、月、日。然后,获取当年的最后一,即12月31日的日期对象。通过两个日期对象的差值除以每的毫秒数,可以得到数差。最后将数差加1,即为所求的结果。上述示例计算了2022年8月20日是这一年的第133
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值