[英]translate timestamp date of birth - in the name of the day
我正在尝试以当天的“名称”翻译出生日期,例如星期一,星期二等,但我对如何做到这一点有些疑问,我首先想:获取两个时间戳(出生日期和当前日期时间戳),然后使用 %7 之类的“模”,然后使用模的“其余”查看名称数组。 但是,实际上,时间戳并不是要除以模数,不是吗? 你会怎么做?
谢谢
您可以使用valueOf()
function 获取 UNIX 时间戳,您可以在其中使用模数,但您可以尝试使用更简单的 API 从日期获取日期名称。 我以时间戳格式记录了实际的出生日期,例如 1983 年 4 月 14 日。 我从实际 DOB 中获得每月日期值和月份值。 我用每月日期和月份值以及当年值构造另一个日期 object。 然后我从该日期获取每周日值(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() + ")");
希望这可以帮助。
如果您有一个真实的Date
object,您可以将它的getDay()
方法与工作日数组结合使用。 几个月也一样。 这是一个 function 返回格式化的实际生日、原始出生日期和今年生日的日期:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.