定义函数给出任意一天是星期几

作者&投稿:枕盲 (若有异议请与网页底部的电邮联系)
EXCEL表中有个返回星期几的函数是什么函数~

函数是WEEKDAY,具体的请看帮助。

=TEXT(A1,"aaaa")能返回汉字的星期几。

子公司A
=IF(WEEKDAY(A1,2)>=3,TEXT(A1-WEEKDAY(A1,2)+3,"e年m月d日"),TEXT(A1-WEEKDAY(A1,2)-4,"e年m月d日"))
子公司B
=IF(WEEKDAY(A1,2)>=5,TEXT(A1-WEEKDAY(A1,2)+5,"e年m月d日"),TEXT(A1-WEEKDAY(A1,2)-2,"e年m月d日"))

PS:公式中A1是"最后订货的时间是2011年12月31日"所在单元格地址

输入年月日,输出 星期几。
调用 int YMD_2_WeekDay(int Y, int M, int D)

#include <stdio.h>
#include <time.h>
char *WeekDayName[]={" ","Mon","Tue","Wen","Thu","Fri","Sat","Sun"};
int YMD_2_JD(int Y, int M, int D){
const short MonthDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int JD,i;
JD=D;
for (i=1;i<M;i++) JD+=MonthDay[i];
if ((Y%4==0)&&(Y%100!=0)||(Y%400==0) && M>2) JD++;
return JD;
}

int YMD_2_WeekDay(int Y, int M, int D){
int offset,jd,weekD;
offset = ((Y-1)+(Y-1)/4-(Y-1)/100+(Y-1)/400) % 7 ;
jd = YMD_2_JD(Y,M,D);
weekD = (jd + offset) % 7;
return weekD;
}

void main()
{
int y=2011,m=5,d=31;
int dd;
dd = YMD_2_WeekDay(y,m,d);
printf("%4d-%02d-%02d is %s ", y,m,d,WeekDayName[dd] );
}

/*-----------------------------------------------------------------*\
author: wanfustudio
mail : wanfu.liu@163.com
Rights: 任意拷贝,修改,传播包括商业使用
Q & A :
如何疑问,以及想法,不满足的需求
欢迎来函!!!
\*-----------------------------------------------------------------*/

#include <stdio.h>
#include <string.h>
#include <time.h>
#include <math.h>

/*这段是注释,放在此处用以说明各个成员的含义,在time.h中定义*/
#if 0
struct tm {
int tm_sec; /* seconds after the minute - [0,59] */
int tm_min; /* minutes after the hour - [0,59] */
int tm_hour; /* hours since midnight - [0,23] */
int tm_mday; /* day of the month - [1,31] */
int tm_mon; /* months since January - [0,11] */
int tm_year; /* years since 1900 */
int tm_wday; /* days since Sunday - [0,6] */
int tm_yday; /* days since January 1 - [0,365] */
int tm_isdst; /* daylight savings time flag */
};
#endif

/*-----------------------------------------------------------------*\
全局变量
\*-----------------------------------------------------------------*/

/* 数组与下面tm结构中定义的tm_wday取值范围相对应 */
const char *Week[]=
{
"星期天",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六"
};

/*-----------------------------------------------------------------*\
函数声明
\*-----------------------------------------------------------------*/

/* 一年中第X天是星期几 */
void GetWeekDay(int year,int num);

/* X年X月X日是一年中的第X天,星期几 */
void GetSomeDay(int year, int mon, int day);

/* X年X月X日再过X天是一年中的第X天,星期几 */
void GetNextTime(int year, int mon, int day,int num);

/* X年某月末日到X年X月某日有多少天 */
int GetDistBetweenTwoDays(int year, int mon, int day, int year2, int mon2, int day2);

/*-----------------------------------------------------------------*\
函数实现
\*-----------------------------------------------------------------*/

void GetSomeDay(int year, int mon, int day)
{
time_t t;//存储需要计算时间距1900的秒数
struct tm test ;//填充这个结构
struct tm *now = NULL;

memset(&test, 0, sizeof(tm));//先清空下

test.tm_year = year - 1900;
test.tm_mon = mon -1;
test.tm_mday = day ;

t = mktime(&test);// 转换成秒
now = localtime(&t);//再转回tm

printf("%d\n", now->tm_yday);//第几天
printf("%s\n", Week[now->tm_wday]);//星期几
}

void GetNextTime(int year, int mon, int day,int num)
{
struct tm *pNext= NULL;
struct tm now, tmp;
time_t t;

memset(&now, 0 , sizeof(struct tm));
memset(&tmp, 0 , sizeof(struct tm));

now.tm_year = year-1900; //指定年
now.tm_mon = mon -1;//指定月份
now.tm_mday = day + num; //指定是哪一天

t = mktime(&now);//转换成秒

pNext = localtime(&t);

printf("%s\n", asctime(pNext));//哪一天
printf("%s\n", Week[pNext->tm_wday]);//星期几

}

void GetWeekDay(int year,int num)
{
time_t t;//存储需要计算时间距1900的秒数
struct tm test ;//填充这个结构
struct tm *now = NULL;

memset(&test, 0, sizeof(tm));//先清空下

test.tm_year = year - 1900;
test.tm_mday = num +1;

t = mktime(&test);// 转换成秒
now = localtime(&t);//再转回tm

printf("%d\n", now->tm_yday);//第几天
printf("%s\n", Week[now->tm_wday]);//星期几
}

int GetDistBetweenTwoDays(int year, int mon, int day, int year2, int mon2, int day2)
{
int distance = 0;
struct tm now, tmp;
time_t t1,t2;
long diff = 0;

memset(&now, 0 , sizeof(struct tm));
memset(&tmp, 0 , sizeof(struct tm));

now.tm_year = year-1900; //指定年
now.tm_mon = mon -1;//指定月份
now.tm_mday = day; //指定是哪一天

tmp.tm_year = year2-1900;
tmp.tm_mon = mon2 -1;
tmp.tm_mday = day2;

t1 = mktime(&now);// 转换成秒
t2 = mktime(&tmp);

diff = (long)fabs(difftime(t1, t2)); /* 算绝对值(秒) */

distance = diff / 3600 / 24; /* 转成天 */

printf("相隔 %d 天\n", distance);

return distance;
}

/*-----------------------------------------------------------------*\
函数测试
\*-----------------------------------------------------------------*/

int main()
{
GetWeekDay(2007,337);
GetSomeDay(2007,12,4);
GetNextTime(2005,12,4,100);
GetDistBetweenTwoDays(2011, 4, 30, 2011, 5, 2);

return 0;
}

/*-----------------------------------------------------------------*\
author: wanfustudio
mail : wanfu.liu@163.com
如何疑问,以及想法,不满足你的需求
欢迎来函!!!
\*-----------------------------------------------------------------*/


定义函数给出任意一天是星期几
输入年月日,输出 星期几。调用 int YMD_2_WeekDay(int Y, int M, int D)include <stdio.h> include char *WeekDayName[]={" ","Mon","Tue","Wen","Thu","Fri","Sat","Sun"};int YMD_2_JD(int Y, int M, int D){ const short MonthDay[]={0,31,28,31,30,31,30,3...

excel用函数求出某人在某一天的出现次数
=COUNTIFS($B:$B,$D2,$A:$A,E$1)利用透视表更简单,省去了设计右边的表格和公式。透视表取值范围选大些。

怎么用EXCEL函数算出一天工作了多少个小时,要减去一个小时吃饭时间,直 ...
HOUR(C2-B2)是计算上下班时刻的时位差,然后乘以60换算成分钟;MINUTE(C2-B2)计算上下班时刻的分位差,结果是分钟。把时位差和分位差相加后除以30(半小时),即可计算出加班多少个基准单位工时(半小时),INT函数则是舍弃结果的小数部分(也就是忽略不足半小时的加班时间不计),最后把结果除以2换...

通达信函数中,满足任意一天内如何表示?
EVERY(C<10,30);股票公式专家团为你解答,希望能帮到你,祝投资顺利。

excel判断一个日期区间内的任意一天是否在另一个日期区间内?
试试看:=IFERROR(LOOKUP(1,0\/((A2>=$E$2:$E$5)*(B2<=$F$2:$F$5)),$D$2:$D$5),"")下拉

求助:怎样用EXCEL函数统计一天内的号码出现次数?
=SUM(IF($K$5:$K$500=K5,IF(1*$B$5:$I$500>-1,IF(1*$B$5:$I$500<21,1,0)))输入后同时按下ctrl+shift+enter键,输入数组公式,就会在L5单元格中显示你要的数字了,如果数字不足排到I500那么多也没有关系的,不影响结果的,用自动填充柄将L5向下拖,就可以求出其它行中当天的符合条件...

我有一组日期数据,用什么函数能判断出其中天数是某一天的。_百度...
public class intro { private datatime _mytime;\/\/日期数据 public datatime Mytime { get{return _mytime;} set{_mytime=value;} } private string _name;\/\/其它数据 public string Name { get { return _name; } set { _name = value; } } public intro(string name, datetime mytime...

表格中计算从早上7点上班一直到凌晨1点这个怎么用函数来计算出来...
设置下单元格式,直接减就行,结果设置

用excel函数筛选出a比b小的天数。一天之内a、b的值是固定的,但是会重复...
数据在A2:C11中,在D2中输入公式:=IF(A2<>A1,SUMPRODUCT(($A$2:$A$11=A2)*($C$2:$C$11)*(($B$2:$B$11="a")-($B$2:$B$11="b"))),D1)向下填充公式,然后筛选D列小于0的记录就可以筛选出同一天内合计值a比b小的日期。

excel date函数
excel DATE函数:函数名称:DATE 主要功能作用:给出指定数值的日期。当有众多数据需要操作时,更简单便捷的赋予日期。使用格式:DATE(year,month,day)参数说明:year为指定的年份数值(小于9999);month为指定的月份数值(可以大于12);day为指定的天数。应用举例:在C8单元格中输入公式:=DATE(2016,21...

同德县17741482344: 定义函数给出任意一天是星期几 -
德承洛沃: /*-----------------------------------------------------------------*\ author: wanfustudio mail : wanfu.liu@163.com Rights: 任意拷贝,修改,传播包括商业使用 Q & A : 如何疑问,以及想法,不满足的需求 欢迎来函!!!\*------------------------------------------------------...

同德县17741482344: c语言:用自定义函数来实现任意输入一个日期,结果输出其星期几 -
德承洛沃: y年m月d日,是第几天days啊?计算方法:days=mon[1]+mon[2]+.+mon[m-1]+d;mon[i]是第i个月的天数;同时要注意,mon[2]闰年29,否则28;给出代码吧,虽然这样对你其实么有什么好处、#includeintmain(){intmon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};inty,m,d,days;intleap,i;scanf("%d%d%d",&y,&m,&d);for(i=1,days=0;i2)days++;printf("days=%d\n",days);}自己读,自己写,经常百度,不好~~~刚才有个单词打错了,sorry、、~~

同德县17741482344: 在Excel中,哪个函数可以算出指定日期是星期几?请举例,谢谢 -
德承洛沃: 1.输入“=WEEKDAY(DATE(2014,2,14),2)”在单元格中输入“=WEEKDAY(DATE(2014,2,14),2)”皆可,迅速算出结果,如下图. 2.公式解答首先DATE()函数,里面输入一个日期就可以了,依次输入“年”、“月”、“日”.WEEKDAY()函数是返回某日期的星期数,后面一个参数可以设置为1、2、3,数字1 或省略则1 至7 代表星期天到星期六,数字2 则1 至7 代表星期一到星期天,数字3则0至6代表星期一到星期天.在这里我们选择2,代表星期一至星期天.

同德县17741482344: C++中如何调用时间函数判断某一天是星期几? -
德承洛沃: time_t t=time(0); //当前时间差(秒) localtime(&t) --- 将time(0)转换成日历,已经进行过时区转换,返回指向 tm结构体指针,tm存储时间的各个量, t != NULL{tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec}

同德县17741482344: c语言定义dow( )函数 - ------------ - //char *dow(date d){ //功能:函数返回当日是 -
德承洛沃: DOW( ) 函数:返回指定日期或日期时间是一周的第几天( )中的内容应是日期型,用{ }括起来,试试如下命令:?dow({^2009-03-23}) ?dow({^2009.03.23}) 或 ?dow({^2009/03/23})------------------------------------------------------------- DOW( ) 函数...

同德县17741482344: c语言编程,急需!!!给出任意一天,显示是星期几? -
德承洛沃: /* 对 使用上面的公式*/ #include "stdio.h" #include "stdlib.h" #include <memory.h> #include <string.h>void main() {char Year[5],Month[3],Day[3];char cc[3],YY[3],mm[3],WW[3];int W; memset(Year,0x0,5);memset(Month,0x0,3);memset(Day,...

同德县17741482344: 怎样给定一个日期,就能算出它星期几?怎样算的?? -
德承洛沃: 当然.我就可以用心算和手算算出1200年-2400年公历的任一天是星期几,其实这并没有什么神秘,要讲纯熟是2000到2100年中的公历任一天, 要求出20XX年的元旦是星期几,还是很简单的;. 比如2033年的元旦是星期 几? 即XX=33 xx乘1,...

同德县17741482344: C++定义一个日期类,有:判断星期的函数
德承洛沃: 标准C++中就有 包含头文件<ctime> 有一个tm的结构体,里面有tm_wday成员,就是星期几,当然它是从0开始的,0表示星期天 #include <iostream> #include <ctime> using namespace std; int main() { time_t now = time(0); struct tm *stm = gmtime(&now); cout<<stm->tm_wday<<endl; return 0; }

同德县17741482344: 输入任意日期给出今天是星期几的编程 -
德承洛沃: 楼上写的程序BUG太多,你能处理任意输入日期后你能判断那是星期几吗?这是我写的 #include int year1=2007,month1=1,day1=1; char week[7][9]={"Monday","Tuesday","Wednesday","Thusday","Friday","Saturday","Sunday"};...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网