`

根据时间戳计算是星期几

 
阅读更多

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;

分享到:
评论

相关推荐

    时间戳星期转换

    可以将13位数的时间戳转换成对应的星期。但是有部分代码还是需要根据自己的情况进行一些修改。

    时间戳工具

    4. 时间转换星期方法:这个功能可能是将日期转换为对应的星期几(如星期一、星期二等)。这可以通过获取日期对象的天数并映射到星期名称来实现。在Java中,可以使用`Calendar`类;在Python中,可以使用`datetime`...

    VC中计算某日为星期几

    在VC++编程环境中,计算某日是星期几是一项常见的日期处理任务。这涉及到对日期算法的理解和使用。本文将深入探讨如何在VC++中实现这一功能,并提供一个实例来帮助理解。 首先,我们需要知道日期与星期之间的关系。...

    C++实现输入任意日期,并算出该日期是星期几

    3. **日历算法**:要计算星期几,可以使用Zeller's congruence或Doyle-Trifonov算法。Zeller's congruence是一个简单的公式,适用于公元1 AD到4999 AD的日期。假设`y`为年份,`m`为月份,`d`为日期,计算星期几的...

    JS实现获取进今年第几天是周几的方法分析

    本文实例讲述了JS实现获取今年第几天是周几的方法。分享给大家供大家参考,具体如下: function getWeek(str){ var nowyearstr =Date.parse(new Date().getFullYear()); var nowstr =nowyearstr+str*86400000; ...

    万年历 知道某日求前后是几年几月几号星期几

    4. **星期计算**:计算星期几通常涉及到Zeller's congruence或Doyle-Knuth-Torvalds算法。这些算法可以根据年、月、日确定星期几。 5. **格式化输出**:最后,我们需要使用`strftime()`函数将`struct tm`结构体转换...

    VC 计算某日期为星期几.rar

    在VC++编程环境中,计算某日期是星期几是一项常见的任务,这涉及到日期和时间的处理。在本示例中,我们关注的是如何利用C++语言和Microsoft Visual Studio(VC)的库来解决这个问题。日期与星期几的关联计算通常基于...

    PHP中UNIX时间戳和日期间的转换与计算实例

    UNIX时间戳虽然方便计算和存储,但也不是没有问题。32位UNIX时间戳由于其数值范围的限制,导致所谓的“2038年问题”。即到2038年1月19日03时14分07秒(UTC)之后,32位时间戳将无法表示更多的秒数。这是因为32位整数...

    PHP实现根据时间戳获取周几的方法

    在提供的代码示例中,定义了一个名为`getTimeWeek()`的函数,其功能是根据给定的时间戳获取该日期是星期几,以及未来几天后的星期几。以下是该函数的详细解释: ```php function getTimeWeek($time, $i = 0) { $...

    jQuery简单实现根据日期计算星期几的方法

    这是因为计算星期几的功能并不依赖于jQuery库,而是在JavaScript的原生能力范围内。然而,如果你的项目已经引入了jQuery,你仍然可以使用相同的逻辑,只是不需要将这部分代码包裹在`$(function() {...})`的DOM准备...

    PHP时间戳格式全部汇总 (获取时间、时间戳)

    // 指定下星期几的时间戳 $timestamp = strtotime("next Thursday"); echo date("Y-m-d H:i:s", $timestamp); // 输出下个星期四的日期和时间 // 指定上星期几的时间戳 $timestamp = strtotime("last Thursday"); ...

    计算星期和天数的小工具

    在编程领域,有时我们需要开发一些实用的小工具来解决特定的问题,比如“计算星期和天数的小工具”。这个小工具是作者使用VC(Visual C++)编程环境制作的,旨在帮助用户快速获取任何指定日期在当年的周数、天数以及...

    任输入一个时间显示星期几

    标题“任输入一个时间显示星期几”涉及到的编程任务是在C/C++环境下,根据用户输入的日期计算出该日期是星期几。这个功能在很多日常应用中都很常见,例如日历应用或者时间管理软件。在C/C++中实现这样的功能需要理解...

    自动星期计算

    大多数编程语言都有内置的日期函数来获取指定日期是星期几。例如,在Python中,可以使用datetime模块的weekday()函数;在JavaScript中,Date对象的getDay()方法能返回0(周日)到6(周六)的数字。为了显示中文的...

    ios-时间与时间戳.zip

    在iOS中,我们可以利用`Calendar`类来处理日历相关的任务,如获取当前日历、查询特定日期的星期几、计算两个日期之间的天数等。`Components`类用于从日期中提取年、月、日等部分,而`DateComponents`可以用来构建新...

    C 代码 确定与给定日期对应的星期几.rar

    计算星期几的逻辑可能如下: 1. 创建一个`struct tm`结构体,填充给定的年、月、日。 2. 使用`mktime()`函数将结构体转换为时间戳。 3. 时间戳除以7取余数,余数0代表星期日,1代表星期一,以此类推,星期六为6。 4...

    Android 仿微信聊天时间格式化显示功能

    这段代码定义了一个`formatChatTime`方法,它接收一个时间戳作为参数,然后根据时间戳计算出对应的时间,并按照上述规则返回格式化的字符串。`getWeekDay`方法用于获取一周中的星期几,`isSameDay`和`isYesterday`...

    计算是当年的第几周.zip

    这段代码首先获取了当前日期,然后计算了总天数和星期几。通过这些信息,它确定了当前日期所在的周数。请注意,此代码假设输入的日期总是有效的,实际应用中可能需要添加错误检查和异常处理。 了解这些基础知识后,...

    如何获取本周,本月,本日的开始时间和结束时间的时间戳.pdf

    `getTime()` 方法则根据传入的参数 `filter` 来获取特定时间段的开始和结束时间戳。 1. `timeToTimestamp(String dateStr)`: 这个方法将日期字符串(例如 "2022-08-04 12:00:00")转换为时间戳。首先创建一个 `...

Global site tag (gtag.js) - Google Analytics