根据时间戳计算是星期几

private SimpleDateFormat df

long date;//时间戳

df = new SimpleDateFormat("yyyy-MM-dd");

String time = df.format(date);

String[] week = time.split("-");

/*

* 以2049年10月1日(100周年国庆)为例,用蔡勒(Zeller)公式进行计算,过程如下:

* 蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1

* =49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1

* =49+[12.25]+5-40+[28.6] =49+12+5-40+28 =54 (除以7余5)

* 即2049年10月1日(100周年国庆)是星期5。

*/

int c = Integer.valueOf(week[0].substring(0, 1));

int y = Integer.valueOf(week[0].substring(2, 3));

int month = Integer.valueOf(week[1]);

// int weekIndex=y+(y/4)+(c/4)-2*c+(26*(month+1)/10)+day-1;

if (month > 3 && month <= 14) {

} else {

y = y - 1;

month = month + 12;

}

int day = Integer.valueOf(week[2]);

int weekIndex = y + (y / 4) + (c / 4) - 2 * c + (26 * (month + 1) / 10) + day - 1;

if (weekIndex < 0) {

weekIndex = weekIndex * (-1);

} else {

weekIndex = weekIndex % 7;

}

String weekDate=null;

switch (Integer.valueOf(weekIndex)) {

case 1:

weekDate = mContext.getResources().getString(R.string.alarm_screen_monday);

break;

case 2:

weekDate = mContext.getResources().getString(R.string.alarm_screen_tuesday);

break;

case 3:

weekDate = mContext.getResources().getString(R.string.alarm_screen_thursday);

break;

case 4:

weekDate = mContext.getResources().getString(R.string.alarm_screen_wendesday);

break;

case 5:

weekDate = mContext.getResources().getString(R.string.alarm_screen_friday);

break;

case 6:

weekDate = mContext.getResources().getString(R.string.alarm_screen_staturday);

break;

case 7:

weekDate = mContext.getResources().getString(R.string.alarm_screen_sunday);

break;

default:

weekDate = mContext.getResources().getString(R.string.alarm_screen_monday);

break;

}

return weekDate;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值