Java獲取日期間的日期—-日期轉換為星期幾
獲取日期間的日期—-日期轉換為星期幾
目錄
在實際中經常會有這樣的應用
這樣就要來獲取一段時間內的日期以及對應的星期。
獲取日期間的日期
private static List<Date> getBetweenDates(Date start, Date end) {
List<Date> result = new ArrayList<Date>();
Calendar tempStart = Calendar.getInstance();
tempStart.setTime(start);
//新增或減去指定的時間給定日曆領域,基於日曆的規則。例如,從日曆當前的時間減去5天,您就可以通過
tempStart.add(Calendar.DAY_OF_YEAR, 0);
Calendar tempEnd = Calendar.getInstance();
tempEnd.setTime(end);
tempEnd.add(Calendar.DAY_OF_YEAR, 1);
while (tempStart.before(tempEnd)) {
result.add(tempStart.getTime());
tempStart.add(Calendar.DAY_OF_YEAR, 1 );
}
return result;
}
日期轉換為星期
public static String dateToWeek(String datetime) {
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
String[] weekDays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
Calendar cal = Calendar.getInstance(); // 獲得一個日曆
Date datet = null;
try {
datet = f.parse(datetime);
cal.setTime(datet);
} catch (ParseException e) {
e.printStackTrace();
}
int w = cal.get(Calendar.DAY_OF_WEEK) - 1; // 指示一個星期中的某天。
if (w < 0)
w = 0;
return weekDays[w];
}
整體功能測試程式碼
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class DateTest {
public static void main(String[] args) throws Exception {
String startTime = "2017-10-01";
String endTime = "2017-10-08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
List<Date> dateList = getBetweenDates(sdf.parse(startTime), sdf.parse(endTime));
for (int i = 0; i < dateList.size(); i++) {
System.out.println(sdf.format(dateList.get(i)) + " " + dateToWeek(sdf.format(dateList.get(i))));
}
}
/**
*
* @doc 獲取日期間的日期
* @param start
* 開始日期
* @param end
* 結束日期
* @return List集合
* @author lzy
* @history 2017年10月17日 上午9:55:04 Create by 【lzy】
*/
private static List<Date> getBetweenDates(Date start, Date end) {
List<Date> result = new ArrayList<Date>();
Calendar tempStart = Calendar.getInstance();
tempStart.setTime(start);
//新增或減去指定的時間給定日曆領域,基於日曆的規則。例如,從日曆當前的時間減去5天,您就可以通過
tempStart.add(Calendar.DAY_OF_YEAR, 0);
Calendar tempEnd = Calendar.getInstance();
tempEnd.setTime(end);
tempEnd.add(Calendar.DAY_OF_YEAR, 1);
while (tempStart.before(tempEnd)) {
result.add(tempStart.getTime());
tempStart.add(Calendar.DAY_OF_YEAR, 1);
}
return result;
}
/**
*
* @doc 日期轉換星期幾
* @param datetime
* 日期 例:2017-10-17
* @return String 例:星期二
* @author lzy
* @history 2017年10月17日 上午9:55:30 Create by 【lzy】
*/
public static String dateToWeek(String datetime) {
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
String[] weekDays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
Calendar cal = Calendar.getInstance(); // 獲得一個日曆
Date datet = null;
try {
datet = f.parse(datetime);
cal.setTime(datet);
} catch (ParseException e) {
e.printStackTrace();
}
int w = cal.get(Calendar.DAY_OF_WEEK) - 1; // 指示一個星期中的某天。
if (w < 0)
w = 0;
return weekDays[w];
}
}
執行結果
一些方法說明
Calendar tempStart = Calendar.getInstance();
tempStart.setTime(start);
//新增或減去指定的時間給定日曆領域,基於日曆的規則。例如,從日曆當前的時間減去5天,您就可以通過
tempStart.add(Calendar.DAY_OF_YEAR, 0);
Calendar類是Java的一個時間操作類,setTime方法不用我多說,給定一個Date值設定時間,add這個方法可以對時間上進行操作,例如:
tempStart.add(Calendar.DAY_OF_YEAR, 5);
API上的解釋是:新增或減去指定的時間給定日曆領域,基於日曆的規則。如上程式碼就是對在當前tempStart物件的時間點上加上5天。
tempStart.before(tempEnd)
before這個方法,返回此日曆是否表示由指定物件表示的時間之前的時間。相當於:CompareTo(時)<0。
相關推薦
Java獲取日期間的日期—-日期轉換為星期幾
獲取日期間的日期—-日期轉換為星期幾 目錄 在實際中經常會有這樣的應用 這樣就要來獲取一段時間內的日期以及對應的星期。 獲取日期間的日期 private static List<Date> getBetweenDate
SQL Server 獲取兩個日期間的日期
() serve server cts where sele sel lar obj declare @start datetime declare @end datetime set @start = ‘2018-01-25‘ set @end = ‘201
localtime()函式:獲取當前時間和日期並轉換為本地時間
核心程式碼能一直獲取一個當前時間的表示, 通過檢視 jifies 的值. 常常地, 這個值只代表從最後一次啟動以來的時間, 這個事實對驅動來說無關, 因為它的生命週期受限於系統的 uptime. 如所示, 驅動可以使用 jiffies 的當前值來計算事件之間的時間間隔(例如, 在輸入驅動中從單擊中
json日期格式轉換為正常格式
ets 日期 gets urn second nbsp int pan bsp function jsonDateFormat(jsonDate) { try { var date = new Date(parseInt(jsonDate.repl
C# 秒數轉日期_由秒數得到日期幾天幾小時_當前日期時間,轉換為秒
///<summary> ///由秒數得到日期幾天幾小時。。。 ///</summary ///<param name="t">秒數</param> ///<param name="type">0:轉換後帶秒,1:轉換後不帶秒</param
html 頁面/jsp 頁面 日期格式的轉換,將日期格式轉換為字串型別
jsp 頁面 引入jstl標籤庫中fmt <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 使用標籤進行日期Date型別到String 字串的轉化 <fmt:formatDate valu
js日期計算及快速獲取周、月、季度起止日,獲取指定日期週數以及星期幾的小例子
轉載地址:https://www.cnblogs.com/laneyfu/p/5028916.html // 通過週數和星期計算日期 //2017年1月1日是星期日,算第一週,1月2日週一算是第二週 function dateFromWeek(year,
java獲取字串裡的日期資訊,並把獲取的日期資訊轉成Date
字串:String aa="物品日報表 2018年9月29日"; Date newdate=stringZhuanDate(aa); //字串裡的時間轉換成date public Date stringZhuanDate(String biaoti){
【原創】SqlServer、利用遞迴查詢、將日期範圍轉換為日期表
在做專案任務時,需要將一個日期範圍轉換為日期表。 例如:日期範圍(2017年01月21日~2017年02月20日)、轉換成一日為單位的日期表,如下。 2017-01-21 2017-01-22
JS中將日期字串轉換為日期型過程中出現的問題
專案中需要在頁面上選擇一個日期(格式為:2015-08-20),然後通過JS實現,根據前面選中的日期,獲得該日期的前一天,相關JS程式碼如下: /** * 引數:today 日期型 * 返回:字串YYYYMMDD * 返回today的上一天日期 * */ funct
java 使用jaxb 把xml 直接轉換為ben
有一個 alt new ima 告訴 repo artifact style log 首先有一個xml 文件。 使用 trang-20091111.jar 把xml 文件轉化為 .xsd 文件(jar 下載地址 : http://mvnrepository.com/art
[轉]Java中怎樣把數組轉換為ArrayList
com supported array 文檔 java 靜態 拷貝 light size 方法匯總: Element[] array = {new Element(1),new Element(2),new Element(3)}; ArrayList<E
Java將一個基本資料型別轉換為String的方法及效率比較
把一個基本資料型別轉為字串型別,有三種方法。 假設a是integer型別的資料 方法1:a.toString(); 方法2:String.valueOf(a); 方法3:a+""; 效率比較: 方法1效率最快、其次到方法2、最後才是方法3; 原因: 1.a
java十六進位制轉換為字串(解決中文亂碼問題)
// 轉化十六進位制編碼為字串 public static String toStringHex2(String s) { byte[] baKeyword = new byte[s.length() / 2]; for (int
Java實現24位真彩轉換為8位灰度圖片
Windows下的點陣圖檔案即我們通常所熟悉的BMP圖片,其儲存結構的格式可以在WINGDI.h檔案中找到定義。BMP檔案大體上分為四個部分: 1. 點陣圖檔案頭(BITMAPFILEHEADER) 2. 點陣圖資訊頭(BITMAPIN
Java將檔案中的內容轉換為sql語句(和併發定時讀取檔案)
資料檔案內容data.txt {USER_TYPE=1,CREATE_USER=ZHANG,UPDATE_USER=li,OPER_NUM=D001,SRC=2,UPDATE_TIME=2018-11-11 18:08:08.0,TABLE_NUM=T17,OPTIONS=FIND,
C#之將從textbox獲取的值從string轉換為int值
測試程式碼:方法一try { int count1 = int.Parse(textBox2.Text); //string型別轉換int型別 } catch (Exception
java利用工具fastjson將陣列轉換為JsonArray
一:下載fastjson-1.2.38.jar 二:java程式碼 @Test public void test4() { int[] my = new int[2]; my[0] = 6; my[1] = 8; try { JSONArray jsonObj = (
列舉操作(從列舉中獲取Description,根據Description獲取列舉,將列舉轉換為ArrayList)工具
using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Reflection; namespac
JAVA下整形和String陣列轉換為列表
資料整理自網上,若有錯誤請及時通知博主。 JAVA下陣列轉換為列表 java的陣列一般可以分為int陣列和String陣列。先看下面的例子: public static void main(String[] args) {