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