根据年得到所有星期日的日期

Go
--创建函数
create function GetWeekDays(@year int)
returns @t table (星期天varchar(20))
as
begin
    insert @t
    select  substring(convert(varchar,dateadd(day,x,col),120),1,10) from
    ( select cast(cast(@year as varchar(4))+‘-1-1‘ as datetime) as col )a cross join
    ( select  top 365 b8.i+b7.i + b6.i + b5.i + b4.i +b3.i +b2.i + b1.i + b0.i x
    from(select 0 i union all select 1) b0
    cross join(select 0 i union all select 2) b1
    cross join(select 0 i union all select 4) b2
    cross join(select 0 i union all select 8) b3
    cross join(select 0 i union all select 16) b4
    cross join(select 0 i union all select 32) b5
    cross join(select 0 i union all select 64) b6
    cross join(select 0 i union all select 128) b7
    cross join(select 0 i union all select 256) b8
    order by 1 )b where datepart(dw,dateadd(day,x,col))=1
    return
end

--测试示例
select * from dbo.GetWeekDays(2011)

--运行结果
/*
星期天
--------------------
2011-01-02
2011-01-09
2011-01-16
2011-01-23
2011-01-30
2011-02-06
2011-02-13
2011-02-20
2011-02-27
2011-03-06
2011-03-13
2011-03-20
2011-03-27
2011-04-03
2011-04-10
2011-04-17
2011-04-24
2011-05-01
2011-05-08
2011-05-15
2011-05-22
2011-05-29
2011-06-05
2011-06-12
2011-06-19
2011-06-26
2011-07-03
2011-07-10
2011-07-17
2011-07-24
2011-07-31
2011-08-07
2011-08-14
2011-08-21
2011-08-28
2011-09-04
2011-09-11
2011-09-18
2011-09-25
2011-10-02
2011-10-09
2011-10-16
2011-10-23
2011-10-30
2011-11-06
2011-11-13
2011-11-20
2011-11-27
2011-12-04
2011-12-11
2011-12-18
2011-12-25

(52 row(s) affected)
*/
时间: 2024-11-08 00:35:31

根据年得到所有星期日的日期的相关文章

Java日期处理汇总

1.如何获得上周星期日的日期 public class DateTest { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); System.out.println(sdf.format(getLastWeekSunday())); } /** * 获得上周星期日的日期 * @return */ public static Date ge

Java 根据指定日期计算所在周的周一和周日

public static void main(String[] args) throws ParseException {                     SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //设置时间格式            Calendar cal = Calendar.getInstance();            Date time=sdf.parse("2015-9-4 

java中获取日期和时间的方法总结

1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下:  要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); date.getTime() ; 还有一种方式,使用 System.currentTimeMillis() ;都是得到一个当前的时间的long型的时间的毫秒值,这个值实际上是当前时间值与1970年一月一号零时零分零秒相差的毫秒数 一.获取当前时间,   格式为:   yyyy-mm-dd   hh-mm

Java各种日期格式的获取和设置指定日期

因为近期在做一个项目,发现项目中日期设置的bug,于是查阅了多方资料后.最终攻克了,为此写篇总结.方便日后的查阅. 多的不说了.直接上代码 package com.example.testdate; import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; impo

java获取本周 上周的所有日期

1 根据当前日期获得所在周的日期区间(周一和周日日期) public String getTimeInterval(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); // 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了 int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天 if (1 == day

【转载】android 工具类 DateUtil,可以用它方便的进行日期的操作

本文转载自:http://blog.csdn.net/xuduzhoud/article/details/27526177 全部代码如下: DateUtil.java package com.example.tset; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 日期操作工具类. * * @au

java新建日期获取工具

1 package com.hefeng.test; 2 3 4 import java.text.DateFormat; 5 import java.text.ParsePosition; 6 import java.text.SimpleDateFormat; 7 import java.util.Calendar; 8 import java.util.Date; 9 import java.util.GregorianCalendar; 10 11 public class TimeTe

Java 获取指定日期的方法总结 -转

格式化日期 String-->Date  或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");    Date  date = sdf.parse("2009-11-04");//String-->Date String  sdate  = sdf.format(date );// Data-->String ==================

Java 获取指定日期的方法总结

格式化日期 String-->Date 或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse("2009-11-04");//String-->Date String sdate = sdf.format(date );// Data-->String =========================