翻译时间戳出生日期 - 以当天的名义

时间:2011-06-05 16:13:12

标签: javascript date timestamp modulo


我试图在当天的“名称”中翻译出生日期,如星期一,星期二等,但我对如何做到有一些疑问,我首先考虑:采取两个时间戳(出生日期和当前时间)时间戳)然后使用像“%7”这样的“模数”,然后使用模数的“休息”查看名称数组。但是,实际上,时间戳并不意味着除以模数不是吗?你会怎么做?

由于

2 个答案:

答案 0 :(得分:1)

您可以使用valueOf()函数获取UNIX时间戳,您可以使用模数,但您可以尝试使用更简单的API从日期中获取日期名称。我以1983年4月14日的时间戳格式记录了实际出生日期。我从实际DOB获得月度日期值和月份值。我使用月 - 日和月值以及当前年份的值构建另一个日期对象。然后我从这个日期得到每周日值(0-6 =周日至周六),并显示包含日期名称的数组中的映射日期名称。

var days = "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday";
var actualDOB = "04/14/1983";

var date = new Date(new Date().getFullYear(), new Date(actualDOB).getMonth(), new Date(actualDOB).getDate());

alert("The day of the week this year for your birthday is : " + days.split(',')[date.getDay()] + " (" + date.toDateString() + ")");

希望这有帮助。

答案 1 :(得分:0)

如果您有一个真正的Date对象,则可以将其getDay()方法与工作日数组结合使用。几个月也一样。这是一个函数,用于返回格式化的实际生日,原始出生日和今年生日当天:

function birthDAY(dat){
  var result = {},
      birthday = new Date(dat),
      weekdays = 'sun,mon,tue,wedness,thurs,fri,satur'.split(','),
      months = 'jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec'.split(','),
      dateFormatted = function(dateobj) {
         return [
                 weekdays[dateobj.getDay()],'day',
                 ', ', months[dateobj.getMonth()],
                 ' ',  dateobj.getDate(),
                 ' ',  dateobj.getFullYear()
                ].join('');
      };

  result.bdformatted = dateFormatted(birthday);
  result.origbd = weekdays[birthday.getDay()]+'day';

  birthday.setFullYear(new Date().getFullYear());
  result.bdthisyear = weekdays[birthday.getDay()]+'day');
  return result;
}
//usage
var bdObj = birthDAY('1973/11/02'); // <- your timestamp here
alert(bdObj.bdformatted); //=> friday, nov 2 1973
alert(bdObj.origbd);      //=> friday
alert(bdObj.bdthisyear);  //=> wednessday