Java——判断某一天是星期几的方法(源代码)

合集下载

day函数

day函数

day函数day函数是javascript中的一种内置函数,它用于返回指定日期(星期日、星期一等)的序号。

它可以在日期操作中发挥重要作用。

下面就来介绍day函数的具体使用。

1. day函数的语法day函数的语法如下:```dateObj.getDay()```day函数的参数为Date对象,它返回0-6的一个值,表示这一天是星期日、星期一等。

2. day函数的返回值day函数返回一个0-6的值,代表一个星期中的一天,其含义分别如下:* 0 表示星期日* 1 表示星期一* 2 表示星期二* 3 表示星期三* 4 表示星期四* 5 表示星期五* 6 表示星期六3. day函数的实例实例一:```var date = new Date();var dayVal = date.getDay();alert(dayVal); //输出一个0-6的值```上面的代码创建了一个Date对象,然后调用day函数,返回一个当前时间的序号值。

实例二:```var dt = new Date();var dayVal = dt.getDay();switch(dayVal){case 0:alert("今天是星期日");break;case 1:alert("今天是星期一");break;case 2:alert("今天是星期二");break;case 3:alert("今天是星期三");break;case 4:alert("今天是星期四");break;case 5:alert("今天是星期五");break;case 6:alert("今天是星期六");break;}```上面的代码调用day函数,得到一个当前的星期的值,然后通过switch语句进行分支判断,最终得到当前的星期。

Java中的日期和时间类以及Calendar类用法详解

Java中的日期和时间类以及Calendar类用法详解

Java中的⽇期和时间类以及Calendar类⽤法详解Java⽇期和时间类简介Java 的⽇期和时间类位于 java.util 包中。

利⽤⽇期时间类提供的⽅法,可以获取当前的⽇期和时间,创建⽇期和时间参数,计算和⽐较时间。

Date 类Date 类是 Java 中的⽇期时间类,其构造⽅法⽐较多,下⾯是常⽤的两个:Date():使⽤当前的⽇期和时间初始化⼀个对象。

Date(long millisec):从1970年01⽉01⽇00时(格林威治时间)开始以毫秒计算时间,计算 millisec 毫秒。

如果运⾏ Java 程序的本地时区是北京时区(与格林威治时间相差 8 ⼩时),Date dt1=new Date(1000);,那么对象 dt1 就是1970年01⽉01⽇08时00分01秒。

请看⼀个显⽰⽇期时间的例⼦:import java.util.Date;public class Demo{public static void main(String args[]){Date da=new Date(); //创建时间对象System.out.println(da); //显⽰时间和⽇期long msec=da.getTime();System.out.println("从1970年1⽉1⽇0时到现在共有:" + msec + "毫秒");}}运⾏结果:Mon Feb 05 22:50:05 CST 2007从1970年1⽉1⽇0时到现在共有:1170687005390 毫秒⼀些⽐较常⽤的 Date 类⽅法:Date 对象表⽰时间的默认顺序是星期、⽉、⽇、⼩时、分、秒、年。

若需要修改时间显⽰的格式可以使⽤“SimpleDateFormat(String pattern)”⽅法。

例如,⽤不同的格式输出时间:import java.util.Date;import java.text.SimpleDateFormat;public class Demo{public static void main(String args[]){Date da=new Date();System.out.println(da);SimpleDateFormat ma1=new SimpleDateFormat("yyyy 年 MM ⽉ dd ⽇ E 北京时间");System.out.println(ma1.format(da));SimpleDateFormat ma2=new SimpleDateFormat("北京时间:yyyy 年 MM ⽉ dd ⽇ HH 时 mm 分 ss 秒");System.out.println(ma2.format(-1000));}}运⾏结果:Sun Jan 04 17:31:36 CST 20152015 年 01 ⽉ 04 ⽇星期⽇北京时间北京时间:1970 年 01 ⽉ 01 ⽇ 07 时 59 分 59 秒Calendar 类抽象类 Calendar 提供了⼀组⽅法,允许把以毫秒为单位的时间转换成⼀些有⽤的时间组成部分。

java 判断5个工作日的方法

java 判断5个工作日的方法

java 判断5个工作日的方法以Java判断5个工作日的方法在日常的工作中,我们经常需要判断某个日期的前后是否包含了5个工作日。

在这篇文章中,我们将介绍如何使用Java来实现这个功能。

我们需要明确什么是工作日。

通常情况下,工作日是指周一至周五,不包括周末(周六和周日)。

因此,我们需要考虑周末对日期计算的影响。

接下来,我们就可以开始编写代码了。

我们可以使用Java中的Calendar类来进行日期计算。

下面是一个示例代码:```javaimport java.util.Calendar;public class WorkdayCalculator {public static void main(String[] args) {// 获取当前日期Calendar calendar = Calendar.getInstance();// 计算5个工作日后的日期int count = 0;while (count < 5) {calendar.add(Calendar.DAY_OF_MONTH, 1);// 判断是否是周末if (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY&& calendar.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {count++;}}// 输出计算结果System.out.println("5个工作日后的日期是:" + calendar.getTime());}}```上面的代码中,我们首先获取了当前日期,然后使用一个循环来计算5个工作日后的日期。

在每次循环中,我们通过`add`方法将日期增加1天,并使用`get`方法获取当前日期是周几。

如果不是周末(即不是周六和周日),则将计数器`count`加1。

当计数器`count`达到5时,循环结束,我们就得到了5个工作日后的日期。

Calendar 类 setFirstDayOfWeek 方法详解

Calendar 类 setFirstDayOfWeek 方法详解
Calendar 类 setFirstDayOfWeek 方法详解
关于 JAVA 的 java.util.Calendar 类里面的 setFirstDayOfWeek()方法,我相信很多朋友都像我 一样,误解了.认为设置了 setFirstDayOfWeek(Calendar.MONDAY),再通过 get (Calendar.DAY_OF_WEEK),如果是星期一的时候,就会返回一.这样想是错误 的.不管你把 setFirstDayOfWeek()设置为星期几,get (Calendar.DAY_OF_WEEK)都不是改变的.如果是星期一 的话,永远返回都是 2,对应的常量字锻 Calendar.MONDAY 是 2.也就是说是星期一(MONDAY).
public class Test {
static final String[] weeks = new String[]{"星期天","星期一","星期二","星期三"," 星期四","星期五","星期六",};
/** * @param args */
public static void main(String[] args) { // TODO Auto-generated method stub Calendar cale = new GregorianCalendar(2009,0,31); System.out.println(cale.getTime().toLocaleString()); System.out.println("FirstDayOfWeek\tMinimalDaysInFirstWeek\tweek"); for (int i = 1; i <= 7; i++) { cale.setFirstDayOfWeek(i);//1 为星期天,7 为星期六 for (int j = 1; j <= 7; j++) { cale.setMinimalDaysInFirstWeek(j); System.out.println(weeks[(i-1)]+"\t"+j+"\t"+cale.get(Calendar.WEEK_OF_MONTH)

java获取当天,前天,明天,本周,本月,本年的开始日期时间和结束日期时间

java获取当天,前天,明天,本周,本月,本年的开始日期时间和结束日期时间

java获取当天,前天,明天,本周,本⽉,本年的开始⽇期时间和结束⽇期时间1package demoone;23import java.sql.Timestamp;4import java.text.ParseException;5import java.text.SimpleDateFormat;6import java.util.ArrayList;7import java.util.Calendar;8import java.util.Date;9import java.util.GregorianCalendar;10import java.util.List;1112public class DateUtils {13//获取当天的开始时间14public static java.util.Date getDayBegin() {15 Calendar cal = new GregorianCalendar();16 cal.set(Calendar.HOUR_OF_DAY, 0);17 cal.set(Calendar.MINUTE, 0);18 cal.set(Calendar.SECOND, 0);19 cal.set(LISECOND, 0);20return cal.getTime();21 }22//获取当天的结束时间23public static java.util.Date getDayEnd() {24 Calendar cal = new GregorianCalendar();25 cal.set(Calendar.HOUR_OF_DAY, 23);26 cal.set(Calendar.MINUTE, 59);27 cal.set(Calendar.SECOND, 59);28return cal.getTime();29 }30//获取昨天的开始时间31public static Date getBeginDayOfYesterday() {32 Calendar cal = new GregorianCalendar();33 cal.setTime(getDayBegin());34 cal.add(Calendar.DAY_OF_MONTH, -1);35return cal.getTime();36 }37//获取昨天的结束时间38public static Date getEndDayOfYesterDay() {39 Calendar cal = new GregorianCalendar();40 cal.setTime(getDayEnd());41 cal.add(Calendar.DAY_OF_MONTH, -1);42return cal.getTime();43 }44//获取明天的开始时间45public static Date getBeginDayOfTomorrow() {46 Calendar cal = new GregorianCalendar();47 cal.setTime(getDayBegin());48 cal.add(Calendar.DAY_OF_MONTH, 1);4950return cal.getTime();51 }52//获取明天的结束时间53public static Date getEndDayOfTomorrow() {54 Calendar cal = new GregorianCalendar();55 cal.setTime(getDayEnd());56 cal.add(Calendar.DAY_OF_MONTH, 1);57return cal.getTime();58 }59//获取本周的开始时间60public static Date getBeginDayOfWeek() {61 Date date = new Date();62if (date == null) {63return null;64 }65 Calendar cal = Calendar.getInstance();66 cal.setTime(date);67int dayofweek = cal.get(Calendar.DAY_OF_WEEK);68if (dayofweek == 1) {69 dayofweek += 7;70 }71 cal.add(Calendar.DATE, 2 - dayofweek);72return getDayStartTime(cal.getTime());73 }74//获取本周的结束时间75public static Date getEndDayOfWeek(){76 Calendar cal = Calendar.getInstance();77 cal.setTime(getBeginDayOfWeek());78 cal.add(Calendar.DAY_OF_WEEK, 6);79 Date weekEndSta = cal.getTime();80return getDayEndTime(weekEndSta);81 }82//获取本⽉的开始时间83public static Date getBeginDayOfMonth() {84 Calendar calendar = Calendar.getInstance();85 calendar.set(getNowYear(), getNowMonth() - 1, 1);86return getDayStartTime(calendar.getTime());87 }88//获取本⽉的结束时间89public static Date getEndDayOfMonth() {90 Calendar calendar = Calendar.getInstance();91 calendar.set(getNowYear(), getNowMonth() - 1, 1);92int day = calendar.getActualMaximum(5);93 calendar.set(getNowYear(), getNowMonth() - 1, day);94return getDayEndTime(calendar.getTime());95 }96//获取本年的开始时间97public static java.util.Date getBeginDayOfYear() {98 Calendar cal = Calendar.getInstance();99 cal.set(Calendar.YEAR, getNowYear());100// cal.set101 cal.set(Calendar.MONTH, Calendar.JANUARY);102 cal.set(Calendar.DATE, 1);103104return getDayStartTime(cal.getTime());105 }106//获取本年的结束时间107public static java.util.Date getEndDayOfYear() {108 Calendar cal = Calendar.getInstance();109 cal.set(Calendar.YEAR, getNowYear());110 cal.set(Calendar.MONTH, Calendar.DECEMBER);111 cal.set(Calendar.DATE, 31);112return getDayEndTime(cal.getTime());113 }114//获取某个⽇期的开始时间115public static Timestamp getDayStartTime(Date d) {116 Calendar calendar = Calendar.getInstance();117if(null != d) calendar.setTime(d);118 calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);119 calendar.set(LISECOND, 0);120return new Timestamp(calendar.getTimeInMillis());121 }122//获取某个⽇期的结束时间123public static Timestamp getDayEndTime(Date d) {124 Calendar calendar = Calendar.getInstance();125if(null != d) calendar.setTime(d);126 calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59); 127 calendar.set(LISECOND, 999);128return new Timestamp(calendar.getTimeInMillis());129 }130//获取今年是哪⼀年131public static Integer getNowYear() {132 Date date = new Date();133 GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();134 gc.setTime(date);135return Integer.valueOf(gc.get(1));136 }137//获取本⽉是哪⼀⽉138public static int getNowMonth() {139 Date date = new Date();140 GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();141 gc.setTime(date);142return gc.get(2) + 1;143 }144//两个⽇期相减得到的天数145public static int getDiffDays(Date beginDate, Date endDate) {146147if (beginDate == null || endDate == null) {148throw new IllegalArgumentException("getDiffDays param is null!");149 }150151long diff = (endDate.getTime() - beginDate.getTime())152 / (1000 * 60 * 60 * 24);153154int days = new Long(diff).intValue();155156return days;157 }158//两个⽇期相减得到的毫秒数159public static long dateDiff(Date beginDate, Date endDate) {160long date1ms = beginDate.getTime();161long date2ms = endDate.getTime();162return date2ms - date1ms;163 }164//获取两个⽇期中的最⼤⽇期165public static Date max(Date beginDate, Date endDate) {166if (beginDate == null) {167return endDate;168 }169if (endDate == null) {170return beginDate;171 }172if (beginDate.after(endDate)) {173return beginDate;174 }175return endDate;176 }177//获取两个⽇期中的最⼩⽇期178public static Date min(Date beginDate, Date endDate) {179if (beginDate == null) {180return endDate;181 }182if (endDate == null) {183return beginDate;184 }185if (beginDate.after(endDate)) {186return endDate;187 }188return beginDate;189 }190//返回某⽉该季度的第⼀个⽉191public static Date getFirstSeasonDate(Date date) {192final int[] SEASON = { 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4 };193 Calendar cal = Calendar.getInstance();194 cal.setTime(date);195int sean = SEASON[cal.get(Calendar.MONTH)];196 cal.set(Calendar.MONTH, sean * 3 - 3);197return cal.getTime();198 }199//返回某个⽇期下⼏天的⽇期200public static Date getNextDay(Date date, int i) {201 Calendar cal = new GregorianCalendar();202 cal.setTime(date);203 cal.set(Calendar.DATE, cal.get(Calendar.DATE) + i);204return cal.getTime();205 }206//返回某个⽇期前⼏天的⽇期207public static Date getFrontDay(Date date, int i) {208 Calendar cal = new GregorianCalendar();209 cal.setTime(date);210 cal.set(Calendar.DATE, cal.get(Calendar.DATE) - i);211return cal.getTime();212 }213//获取某年某⽉到某年某⽉按天的切⽚⽇期集合(间隔天数的⽇期集合)214public static List getTimeList(int beginYear, int beginMonth, int endYear, 215int endMonth, int k) {216 List list = new ArrayList();217if (beginYear == endYear) {218for (int j = beginMonth; j <= endMonth; j++) {219 list.add(getTimeList(beginYear, j, k));220221 }222 } else {223 {224for (int j = beginMonth; j < 12; j++) {225 list.add(getTimeList(beginYear, j, k));226 }227228for (int i = beginYear + 1; i < endYear; i++) {229for (int j = 0; j < 12; j++) {230 list.add(getTimeList(i, j, k));231 }232 }233for (int j = 0; j <= endMonth; j++) {234 list.add(getTimeList(endYear, j, k));235 }236 }237 }238return list;239 }240//获取某年某⽉按天切⽚⽇期集合(某个⽉间隔多少天的⽇期集合)241public static List getTimeList(int beginYear, int beginMonth, int k) {242 List list = new ArrayList();243 Calendar begincal = new GregorianCalendar(beginYear, beginMonth, 1); 244int max = begincal.getActualMaximum(Calendar.DATE);245for (int i = 1; i < max; i = i + k) {246 list.add(begincal.getTime());247 begincal.add(Calendar.DATE, k);248 }249 begincal = new GregorianCalendar(beginYear, beginMonth, max);250 list.add(begincal.getTime());251return list;252 }253 }1//获取某年某⽉的第⼀天⽇期2public static Date getStartMonthDate(int year, int month) {3 Calendar calendar = Calendar.getInstance();4 calendar.set(year, month - 1, 1);5return calendar.getTime();6 }78//获取某年某⽉的最后⼀天⽇期9public static Date getEndMonthDate(int year, int month) {10 Calendar calendar = Calendar.getInstance();11 calendar.set(year, month - 1, 1);12int day = calendar.getActualMaximum(5);13 calendar.set(year, month - 1, day);14return calendar.getTime();15 }DateUtils。

weekfields weekofyear 用法

weekfields weekofyear 用法

weekfields weekofyear 用法Weekfields和weekofyear是Java 8中的日期时间API中的两个重要概念,它们用于获取日期时间信息并进行计算。

Weekfields是一个枚举类型,它定义了一周的起始日和一周的最小天数。

默认情况下,Java将星期日作为一周的第一天,并将一周最小天数设置为7。

但是,我们可以使用WeekFields类来更改这些设置。

使用WeekFields类可以获取当前日期时间所在周的开始和结束日期,并计算某个日期时间在该年度中属于第几周。

例如,以下代码可以获取当前日期时间所在周的开始和结束日期:```javaLocalDateTime now = LocalDateTime.now();WeekFields weekFields = WeekFields.of(Locale.getDefault()); LocalDateTime startOfWeek =now.with(TemporalAdjusters.previousOrSame(weekFields.getFirs tDayOfWeek())).toLocalDate().atStartOfDay();LocalDateTime endOfWeek =startOfWeek.plusDays(6).with(LocalTime.MAX);```上述代码首先获取当前日期时间,然后使用WeekFields.of(Locale.getDefault())方法创建一个WeekFields对象。

该方法将根据本地化设置返回适当的WeekFields实例。

接下来,我们使用TemporalAdjusters.previousOrSame(weekFields.getFirstDayOfW eek())方法获取本周开始日期,并使用toLocalDate()方法将其转换为LocalDate对象。

最后,我们使用atStartOfDay()方法将其转换为LocalDateTime对象,并添加6天以获得本周结束日期。

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

java获取本周上周的所有⽇期1 根据当前⽇期获得所在周的⽇期区间(周⼀和周⽇⽇期)public String getTimeInterval(Date date) {Calendar cal = Calendar.getInstance();cal.setTime(date);// 判断要计算的⽇期是否是周⽇,如果是则减⼀天计算周六的,否则会出问题,计算到下⼀周去了int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前⽇期是⼀个星期的第⼏天if (1 == dayWeek) {cal.add(Calendar.DAY_OF_MONTH, -1);}// System.out.println("要计算⽇期为:" + sdf.format(cal.getTime())); // 输出要计算⽇期// 设置⼀个星期的第⼀天,按中国的习惯⼀个星期的第⼀天是星期⼀cal.setFirstDayOfWeek(Calendar.MONDAY);// 获得当前⽇期是⼀个星期的第⼏天int day = cal.get(Calendar.DAY_OF_WEEK);// 根据⽇历的规则,给当前⽇期减去星期⼏与⼀个星期第⼀天的差值cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);String imptimeBegin = sdf.format(cal.getTime());// System.out.println("所在周星期⼀的⽇期:" + imptimeBegin);cal.add(Calendar.DATE, 6);String imptimeEnd = sdf.format(cal.getTime());// System.out.println("所在周星期⽇的⽇期:" + imptimeEnd);return imptimeBegin + "," + imptimeEnd;}2 根据当前⽇期获得上周的⽇期区间(上周周⼀和周⽇⽇期)public String getLastTimeInterval() {Calendar calendar1 = Calendar.getInstance();Calendar calendar2 = Calendar.getInstance();int dayOfWeek = calendar1.get(Calendar.DAY_OF_WEEK) - 1;int offset1 = 1 - dayOfWeek;int offset2 = 7 - dayOfWeek;calendar1.add(Calendar.DATE, offset1 - 7);calendar2.add(Calendar.DATE, offset2 - 7);// System.out.println(sdf.format(calendar1.getTime()));// last MondayString lastBeginDate = sdf.format(calendar1.getTime());// System.out.println(sdf.format(calendar2.getTime()));// last SundayString lastEndDate = sdf.format(calendar2.getTime());return lastBeginDate + "," + lastEndDate;}3 获取⼀周开始到结束的list集合public static List<Date> findDates(Date dBegin, Date dEnd){List lDate = new ArrayList();lDate.add(dBegin);Calendar calBegin = Calendar.getInstance();// 使⽤给定的 Date 设置此 Calendar 的时间calBegin.setTime(dBegin);Calendar calEnd = Calendar.getInstance();// 使⽤给定的 Date 设置此 Calendar 的时间calEnd.setTime(dEnd);// 测试此⽇期是否在指定⽇期之后while (dEnd.after(calBegin.getTime())){// 根据⽇历的规则,为给定的⽇历字段添加或减去指定的时间量calBegin.add(Calendar.DAY_OF_MONTH, 1);lDate.add(calBegin.getTime());}return lDate;}4 测试public class Text{public statis void main(string args[]){String yz_time=getTimeInterval(new Date());//获取本周时间String array[]=yz_time.split(",");String start_time=array[0];//本周第⼀天String end_time=array[1]; //本周最后⼀天 //格式化⽇期SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date dBegin = sdf.parse(start_time);Date dEnd = sdf.parse(end_time);List<Date> lDate = findDates(dBegin, dEnd);//获取这周所有date for (Date date : lDate){System.out.println(sdf.format(date));}}}。

java 获取当前时间代码判断时间大小的方法

一、概述随着计算机编程的发展,人们在处理时间和日期时经常需要用到相关的代码来进行判断和操作。

而在Java语言中,获取当前时间并判断时间大小是常见的需求之一。

接下来,我们将介绍在Java中如何获取当前时间的代码,并对比不同时间的大小进行判断的方法。

二、获取当前时间的代码在Java中,获取当前时间的代码可以使用`java.util.Date`类或`java.time.Instant`类。

下面分别介绍两种方式的代码示例:1. 使用java.util.Date类获取当前时间的代码示例:```javaimport java.util.Date;public class M本人n {public static void m本人n(String[] args) {Date now = new Date();System.out.println("当前时间为:" + now);}}```在以上代码中,我们使用`new Date()`来创建一个代表当前时间的`Date`对象,并将其打印输出。

2. 使用java.time.Instant类获取当前时间的代码示例:```javaimport java.time.Instant;public class M本人n {public static void m本人n(String[] args) {Instant now = Instant.now();System.out.println("当前时间为:" + now);}}```在以上代码中,我们使用`Instant.now()`来获取代表当前时间的`Instant`对象,并将其打印输出。

三、判断时间大小的方法在Java中,我们可以通过比较两个时间的大小来判断它们的先后关系。

下面将介绍两种常见的比较时间大小的方法:1. 使用pareTo`方法比较时间的大小:```javaimport java.util.Date;public class M本人n {public static void m本人n(String[] args) {Date date1 = new Date();Date date2 = new Date();// 比较date1和date2的大小int result = date1pareTo(date2);if (result < 0) {System.out.println("date1在date2之前");} else if (result > 0) {System.out.println("date1在date2之后");} else {System.out.println("date1和date2相等");}}}```在以上代码中,我们使用pareTo`方法来比较两个`Date`对象的大小,如果`result < 0`,则表示`date1`在`date2`之前;如果`result > 0`,则表示`date1`在`date2`之后;如果`result`等于0,则表示`date1`和`date2`相等。

JAVA常用日历日期时间星期工具类(封装方法非常多)

JAVA常用日历|日期|时间|星期工具类(封装方法非常多)相信大部分程序语言都需要处理日期、日历和时间相关的数据。

本工具类是基于JAVA语言,封装了常用的方法,这些方法来源于各种实际项目,大部分都是会直接用到的。

此工具类不依赖第三方JAR包,可以直接放入您的项目中使用。

方法全是自己手写的,若有不正确之处还请指出。

此工具类会不断更新完善,有需要的就收藏一下吧。

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;/*** 日历日期工具类* @decription提供常用的获取日期、星期、周数以及转换操作* @author Zebe* @date 2014/11/27* @version 1.0.2*/public class CalendarUtil {private static int WEEKS = 0;private static SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd");private static SimpleDateFormat SDFT = new SimpleDateFormat("yyyy-MM-dd HH:m m:ss");/*** 获取当前年份* @return String 例如:2014*/public static String getYear() {Calendar cd = Calendar.getInstance();return String.valueOf(cd.get(Calendar.YEAR));}/*** 获取某个日期中的年份* @return String 例如:2014-05-16 返回 2014*/public static String getYearOfDate(String date) {Calendar cd = Calendar.getInstance();try {cd.setTime(SDF.parse(date));} catch (Exception e) {e.printStackTrace();}return String.valueOf(cd.get(Calendar.YEAR));}/*** 获取当前月份* @return String 例如:4*/public static String getMonth() {Calendar cd = Calendar.getInstance();return String.valueOf(cd.get(Calendar.MONTH) + 1);}/*** 获取某个日期中的月份* @return String 例如:2014-05-16 返回 5*/public static String getMonthOfDate(String date) {Calendar cd = Calendar.getInstance();try {cd.setTime(SDF.parse(date));} catch (Exception e) {e.printStackTrace();}return String.valueOf(cd.get(Calendar.MONTH) + 1); }/*** 获取日期中的英文月份缩写* @return String*/public static String getMonthShortEnNameOfDate(String date) { Calendar cd = Calendar.getInstance();String result = "";try {cd.setTime(SDF.parse(date));int month = cd.get(Calendar.MONTH) + 1;switch (month) {case1:result = "JAN";break;result = "FEB";break;case3:result = "MAR";break;case4:result = "APR";break;case5:result = "MAY";break;case6:result = "JUN";break;case7:result = "JUL";break;case8:result = "AUG";break;case9:result = "SEP";break;case10:result = "OCT";break;case11:result = "NOV";break;result = "DEC";break;}} catch (Exception e) {e.printStackTrace();}return result;}/*** 获取当前日期* @return String 例如:23*/public static String getDay() {Calendar cd = Calendar.getInstance();return String.valueOf(cd.get(Calendar.DAY_OF_MONTH)); }/*** 获取某个日期中的日期* @return String 例如:2014-05-16 返回 16*/public static String getDayOfDate(String date) {Calendar cd = Calendar.getInstance();try {cd.setTime(SDF.parse(date));} catch (Exception e) {e.printStackTrace();}return String.valueOf(cd.get(Calendar.DAY_OF_MONTH)); }/*** 获取昨天日期* @return yyyy-MM-dd*/public static String getYesterday() {Calendar cal = Calendar.getInstance();try {cal.setTime(SDF.parse(getToday()));cal.add(Calendar.DAY_OF_YEAR, -1);} catch (Exception e) {e.printStackTrace();}return SDF.format(cal.getTime());}/*** 获取今天日期* @return yyyy-MM-dd*/public static String getToday() {return SDF.format(new Date());}/*** 获取明天日期* @return yyyy-MM-dd*/public static String getTommorow() {Calendar cal = Calendar.getInstance();try {cal.setTime(SDF.parse(getToday()));cal.add(Calendar.DAY_OF_YEAR, +1);} catch (Exception e) {e.printStackTrace();}return SDF.format(cal.getTime());}/*** 获取当前日期和时间* @return yyyy-MM-dd HH:mm:ss*/public static String getDateTime() {return SDFT.format(new Date());}/*** 获得当前日期与本周一相差的天数* @return int*/private static int getMondayPlus() {Calendar cd = Calendar.getInstance();// 获得今天是一周的第几天,星期日是第一天,星期二是第二天......int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK);if (dayOfWeek == 1) {return -6;} else {return2 - dayOfWeek;}}/*** 获得上周星期一的日期* @return yyyy-MM-dd*/public static String getPreMonday() {WEEKS--;int mondayPlus = getMondayPlus();GregorianCalendar currentDate = new GregorianCalendar();currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * WEEKS);Date monday = currentDate.getTime();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");return sdf.format(monday);}/*** 获得本周星期一的日期* @return yyyy-MM-dd*/public static String getMonday() {WEEKS = 0;int mondayPlus = getMondayPlus();GregorianCalendar currentDate = new GregorianCalendar();currentDate.add(GregorianCalendar.DATE, mondayPlus);Date monday = currentDate.getTime();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");return sdf.format(monday);}/*** 获得下周星期一的日期* @return yyyy-MM-dd*/public static String getNextMonday() {WEEKS++;int mondayPlus = getMondayPlus();GregorianCalendar currentDate = new GregorianCalendar();currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * WEEKS);Date monday = currentDate.getTime();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");return sdf.format(monday);}/*** 获取某一年第几周的星期一* @return yyyy-MM-dd*/public static String getMondayOfWeek(int year, int week) {Calendar cal = Calendar.getInstance();cal.setFirstDayOfWeek(Calendar.MONDAY);cal.clear();cal.set(Calendar.YEAR, year);cal.set(Calendar.WEEK_OF_YEAR,week);cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);return SDF.format(cal.getTime());}/*** 获取某一年第几周的星期日* @return yyyy-MM-dd*/public static String getSundayOfWeek(int year, int week) {Calendar cal = Calendar.getInstance();cal.setFirstDayOfWeek(Calendar.MONDAY);cal.clear();cal.set(Calendar.YEAR, year);cal.set(Calendar.WEEK_OF_YEAR,week);cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);return SDF.format(cal.getTime());}/*** 获取指定周星期日的日期* @return yyyy-MM-dd*/public static String getSunday() {int mondayPlus = getMondayPlus();GregorianCalendar currentDate = new GregorianCalendar();currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * WEEKS + 6);Date monday = currentDate.getTime();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");return sdf.format(monday);}/*** 获取当前周是本月的第几周* @return String*/public static int getWeekOfMonth() {Calendar cd = Calendar.getInstance();cd.setFirstDayOfWeek(Calendar.MONDAY);return cd.get(Calendar.WEEK_OF_MONTH);}/*** 获取当前周是本年的第几周* @return String*/public static int getWeekOfYear() {Calendar cd = Calendar.getInstance();cd.setFirstDayOfWeek(Calendar.MONDAY);return cd.get(Calendar.WEEK_OF_YEAR);}/*** 获取本月第一天* @param date* @return yyyy-MM-dd*/public static String getFirstDayOfThisMonth() {String year = getYear();String month = getMonth();if (month.length() == 1) {return year + "-0" + month + "-01";}return year + "-" + month + "-01";}/*** 获取本月最后一天* @param date* @return yyyy-MM-dd*/public static String getLastDayOfThisMonth() {Calendar calendar = Calendar.getInstance();try {calendar.set(calendar.get(Calendar.YEAR), calendar.get(Cal endar.MONTH) + 1, 1);calendar.add(Calendar.DATE, -1);} catch (Exception e) {e.printStackTrace();}return SDF.format(calendar.getTime());}/*** 获取指定年份月份的最后一天(整形参数)* @param month* @return yyyy-MM-dd*/public static String getLastDayOfMonth(int year, int month) {Calendar calendar = Calendar.getInstance();try {calendar.set(year, month, 1);calendar.add(Calendar.DATE, -1);} catch (Exception e) {}return SDF.format(calendar.getTime());}/*** 获取指定年份月份的最后一天(字符串参数)* @param month* @return yyyy-MM-dd*/public static String getLastDayOfMonth(String year, String month) { int y = Integer.parseInt(year);int m = Integer.parseInt(month);return getLastDayOfMonth(y, m);}/*** 获取两个日期之间相差天数* @param fromDay* @param toDay* @return long*/public static long getDaysBetween(String fromDay, String toDay) { long days = 0;try {Date d1 = SDF.parse(fromDay);Date d2 = SDF.parse(toDay);long diff = d2.getTime() - d1.getTime();days = diff / (1000 * 60 * 60 * 24);} catch (Exception e) {}return days;}/*** 按指定格式转换日期对象为字符串* @param date 日期对象* @param format 日期格式,如:yyyy-MM-dd HH:mm:ss* @return String*/public static String convertDateToString(Date date, String format) { SimpleDateFormat mySDF = new SimpleDateFormat(format);String dateStr = mySDF.format(date);return dateStr;}/*** 按指定格式转换字符串为日期对象* @param date 字符串日期* @param format 日期格式,如:yyyy-MM-dd HH:mm:ss* @return String*/public static Date convertStringToDate(String date, String format) { try {SimpleDateFormat mySDF = new SimpleDateFormat(format);Date dateTemp = mySDF.parse(date);return dateTemp;} catch (Exception e) {e.printStackTrace();return null;}}/*** 获取指定分钟前的时间字符串* @param minute 分钟* @return String yyyy-MM-dd HH:mm:ss*/public static String getPastTimeByMinute(int minute) {Date date = new Date(new Date().getTime() - (minute * 60 * 1000));return convertDateToString(date, "yyyy-MM-dd HH:mm:ss");}/*** 获取指定分钟前的时间字符串(自定义格式)* @param minute 分钟* @param format 日期格式,如:yyyy-MM-dd HH:mm:ss* @return String*/public static String getPastTimeByMinute(int minute, String format) { Date date = new Date(new Date().getTime() - (minute * 60 * 1000));return convertDateToString(date, format);}/*** 获取指定天数前的时间字符串* @param day 天数* @return String yyyy-MM-dd HH:mm:ss*/public static String getPastTimeByDay(int day) {Date date = new Date(new Date().getTime() - (day * 24 * 60 * 60 * 10 00));return convertDateToString(date, "yyyy-MM-dd HH:mm:ss");}/*** 获取指定天数前的时间字符串(自定义格式)* @param day 天数* @param format 日期格式,如:yyyy-MM-dd HH:mm:ss* @return String yyyy-MM-dd HH:mm:ss*/public static String getPastTimeByDay(int day, String format) {Date date = new Date(new Date().getTime() - (day * 24 * 60 * 60 * 10 00));return convertDateToString(date, format);}/*** 获取基于某个时间点后多少天后的时间点* @description如:2015-08-01 16:00:05,15天之后的时间点是* @param beginTime 开始时间点 yyyy-MM-dd HH:mm:ss* @param day 天数* @return String yyyy-MM-dd HH:mm:ss*/public static String getFutureTimeByDay(String beginTime, int day) {Date futureDate = new Date();try {Date debinDate = SDFT.parse(beginTime);futureDate = new Date(debinDate.getTime() + (day * 24 * 60 * 60 * 1000));} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}return convertDateToString(futureDate, "yyyy-MM-dd HH:mm:ss");}/*** 判断一组日期是否连续* @param dates Date数组* @return boolean*/public static boolean isContinuousDate(Date[] dates) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");long[] datesNew;boolean continuous = false;try {if (dates != null && dates.length >= 2) {// 通过 yyyy-MM-dd 进行格式化并得到一个long类型的日期数组datesNew = new long[dates.length];for (int i=0; i<dates.length; i++) {datesNew[i] = sdf.parse(sdf.format(date s[i])).getTime();}// 对这个数组进行排序Arrays.sort(datesNew);// 遍历新的日期数组,计算两个日期间的时间差(8640 0000为一整天的差距)for (int i=0; i<datesNew.length; i++) {Long tempDate = datesNew[i];if ((i + 1) < datesNew.length) {Long nextDate = datesNew[i + 1];if (Math.abs(tempDate - nextD ate) != 86400000) {return false;}}}return true;}} catch (Exception e) {e.printStackTrace();}return continuous;}/*** 方法测试* @param args* @throws ParseException*/public static void main(String[] args)throws ParseException {System.out.println("获取当前年:" + getYear());System.out.println("获取日期中的年份:" + getYearOfDate("2012-12-08 "));System.out.println("获取当前月:" + getMonth());System.out.println("获取日期中的月份:" + getMonthOfDate("2012-12-08 "));System.out.println("获取当前日:" + getDay());System.out.println("获取日期中的日:" + getDayOfDate("2012-12-08"));System.out.println("获取昨天日期:" + getYesterday());System.out.println("获取今天日期:" + getToday());System.out.println("获取明天日期:" + getTommorow());System.out.println("获取当前日期和时间:" + getDateTime());System.out.println("获得当前日期与本周一相差的天数:" + getMondayPlu s());System.out.println("获得上周星期一的日期:" + getPreMonday());System.out.println("获得上周星期日的日期:" + getSunday());System.out.println("获得本周星期一的日期:" + getMonday());System.out.println("获得本周星期日的日期:" + getSunday());System.out.println("获得下周星期一的日期:" + getNextMonday());System.out.println("获得下周星期日的日期:" + getSunday());System.out.println("获取当前周是本月的第几周:" + getWeekOfMonth());System.out.println("获取当前周是本年的第几周:" + getWeekOfYear());System.out.println("获取本月第一天:" + getFirstDayOfThisMonth());System.out.println("获取本月最后一天:" + getLastDayOfThisMonth());System.out.println("获取指定年份月份最后一天:" + getLastDayOfMonth(2 044, 2) + " <2044年2月>");System.out.println("获取两个日期之间相差天数:" + getDaysBetween("20 14-09-30", "2014-10-02") + " <2014-09-30~2014-12-02>");System.out.println("按指定格式转换日期对象为字符串:" + convertDateT oString(new Date(), "yyyy-MM-dd HH:mm:ss"));System.out.println("按指定格式转换字符串为日期对象:" + convertStrin gToDate("2015-12-12", "yyyy-MM-dd"));System.out.println("获取某一年第几周的星期一:" + getMondayOfWeek(20 14, 51));System.out.println("获取某一年第几周的星期日:" + getSundayOfWeek(20 14, 51));System.out.println("按照 yyy-M-d HH:mm 格式得到当前日期时间:" + con vertDateToString(new Date(), "yyyy-M-d HH:mm"));System.out.println("5分钟前的时间:" + getPastTimeByMinute(5));System.out.println("2天前的此时此刻:" + getPastTimeByDay(2));System.out.println("时间点 2015-08-21 16:00:05,12天之后的时间点是" + getFutureTimeByDay("2015-08-21 16:00:05", 12));// 判断连续日期Date d1 = new SimpleDateFormat("yyyy-MM-dd").parse("2015-11-18 15:5 6:20");Date d2 = new SimpleDateFormat("yyyy-MM-dd").parse("2015-11-19 14:5 3:23");Date d3 = new SimpleDateFormat("yyyy-MM-dd").parse("2015-11-20 14:2 2:20");Date d4 = new SimpleDateFormat("yyyy-MM-dd").parse("2015-11-21 19:5 6:32");Date[] dates = {d1, d2, d3, d4};System.out.println(SDF.format(d1) + "," + SDF.format(d2) + "," + SD F.format(d3) + "," + SDF.format(d4) + " 是连续日期吗?" + isContinuousDate(dates));}}调用更多,写更少!此工具类来源于【最全面的编程语言工具类平台】:。

JavaScript获取星期几的几种方法

JavaScript获取星期⼏的⼏种⽅法星期⼏的4种JS代码写法,有需要的朋友可以参考⼀下第⼀种写法代码如下:var str = "";var week = new Date().getDay();if (week == 0) {str = "今天是星期⽇";} else if (week == 1) {str = "今天是星期⼀";} else if (week == 2) {str = "今天是星期⼆";} else if (week == 3) {str = "今天是星期三";} else if (week == 4) {str = "今天是星期四";} else if (week == 5) {str = "今天是星期五";} else if (week == 6) {str = "今天是星期六";}name="code" class="javascript"> alert(str);</pre>第⼆张写法代码如下:var str = "今天是星期";var week = new Date().getDay();switch (week) {case 0 :str += "⽇";break;case 1 :str += "⼀";break;case 2 :str += "⼆";break;case 3 :str += "三";break;case 4 :str += "四";break;case 5 :str += "五";break;case 6 :str += "六";break;}alert(str);第三种写法代码如下:var a = new Array("⽇", "⼀", "⼆", "三", "四", "五", "六");var week = new Date().getDay();var str = "今天是星期"+ a[week];alert(str);第四种写法代码如下:var str = "今天是星期" + "⽇⼀⼆三四五六".charAt(new Date().getDay());alert(str);。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

www.insigmaedu.com
Java技术之:

判断某一天是星期几
/*
输入3个参数,分别为年月日,逗号分开
输入2个参数,分别为年月,逗号分开
输入1个参数,表示年
使用字符串split方法,分割成字符串数组
根据数组的长度,决定使用哪一种算法
*/

public class StringDemo {
public static void main(String[] args) {
System.out.println("请输入参数,多个参数以逗号分开:");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String arr[] = str.split(",");
switch (arr.length) {// 根据数组的长度来决定掉用哪个方法
case 1:
System.out.println(arr[0] + "年是"
+ year(Integer.valueOf(arr[0]).intValue()));
break;
case 2:
System.out.println(arr[0]
+ "年"
+ arr[1]
+ "月有"
+ month(Integer.valueOf(arr[0]).intValue(),
Integer
.valueOf(arr[1]).intValue(
)) + "天");
break;
case 3:
System.out.println(arr[0]
+ "年"
+ arr[1]
+ "月"
+ arr[2]
www.insigmaedu.com
+ "日是星期"
+ day(Integer.valueOf(arr[0]).intValue(),
Integer.valueOf(
arr[1]).intValue(),
Integer.valueOf(arr[2])
.intValue()));
break;
default:
System.out.println("您输入的参数有误!");
}
}
public static String year(int y) {// 判断该年是不是闰年
String leap = (y % 400 == 0 || y % 4 == 0 && y % 100 != 0) ? "闰年
"
: "平年";
return leap;
}
public static int month(int y, int m) {// 计算指定年份的某个月有多少天
System.out.println(m);
int days = 0;
String leap = year(y);
if (m > 7) {
if (m % 2 == 0) {
days = 31;
} else {
days = 30;
}
} else {
if (m % 2 == 0) {
days = 31;
} else {
days = 30;
}
if (m == 2 && leap.equals("闰年")) {
days = 29;
} else if (m == 2 && leap.equals("平年")) {
days = 28;
}
}
return days;
}
public static String day(int y, int m, int d) {// 求出某年某月某日的这一天是星期

if (m == 1 || m == 2) {
www.insigmaedu.com
m += 12;
y--;
}
int week = d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400
+ 1;
week = week % 7;
String w = "日一二三四五六".substring(week, week + 1);
return w;
}
}

相关文档
最新文档