我想翻译一天的“名称”中的出生日期,就像星期一,星期二等,但我有一些怀疑如何做到这一点,我首先想到:拿两个时间戳(出生日期和当前时间戳),然后使用像%7这样的“模数”,然后用模数的“休息”查看一组名称。但是,实际上,时间戳并不意味着被模数除,不是吗?你会怎么做?翻译时间戳出生日期 - 以当天的名义
由于
我想翻译一天的“名称”中的出生日期,就像星期一,星期二等,但我有一些怀疑如何做到这一点,我首先想到:拿两个时间戳(出生日期和当前时间戳),然后使用像%7这样的“模数”,然后用模数的“休息”查看一组名称。但是,实际上,时间戳并不意味着被模数除,不是吗?你会怎么做?翻译时间戳出生日期 - 以当天的名义
由于
如果有一个真正的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
可以使用valueOf()
功能,你可以使用模,但你可以尝试使用获得UNIX时间戳更简单的API来获取日期的日期名称。我已经以时间戳的形式记录了1983年4月14日的实际出生日期。我从实际的DOB获取每月日期值和月份值。我使用月份日期和月份值以及当前年份值构造另一个日期对象。然后从此日期获取每周的星期值(0-6 = Sun-Sat),并显示阵列中包含日期名称的映射日期名称。
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() + ")");
希望这会有所帮助。
谢谢!所以:与第一个答案相比,为什么在这里使用“dat”上的getDay,即“1973/11/02”,而不是先将它传递给新的Date()?另外,这里:dateFormatted =函数dayBD(dat),为什么以及如何将name命名为dayBD,如果您已经将其命名为dateFormatted作为变量函数,那么为什么?感谢您的帮助;)和完整的答案! – Paul 2011-06-06 00:59:37
@Paul:对于混淆抱歉。在第二个答案中,'dateFormatted'被定义为一个本地函数,接收一个参数'dat',这是令人困惑的,因为该函数的参数也被命名为'dat'。函数的名称并不重要,它也可以是匿名函数。我已经编辑了相应的答案 – KooiInc 2011-06-06 11:09:56
不错,谢谢,我现在明白了;)感谢您的评论! – Paul 2011-06-07 00:29:06