1. java中怎麼把字元串轉換成日期格式啊
在Java中,如果你想要將一個字元串轉換為日期格式,可以按照以下步驟操作。首先,使用`SimpleDateFormat`類的`parse`方法將字元串解析為`Date`對象。這個方法接收一個字元串和一個模式作為參數,模式定義了日期的格式。例如,如果你想將"2005-06-09"這種格式的字元串轉換,模式應設置為"yyyy-MM-dd"。以下是相關的代碼片段:
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2005-06-09");
接著,一旦你得到了`Date`對象,你可以使用`format`方法將其轉換回另一種字元串格式。這個方法同樣需要一個模式作為參數,但這次模式定義了你想要的輸出格式。例如,如果你想輸出為"2005年06月09日"的格式,模式應為"yyyy年MM月dd日"。轉換後的字元串存儲在`String`類型變數中:
String now = new SimpleDateFormat("yyyy年MM月dd日").format(date);
最後,你可以通過`System.out.println(now)`列印出轉換後的日期字元串。這樣,你就成功地將一個字元串轉換成了所需的日期格式。
2. Java如何得到指定時間段中的所有周,及每周的每一天都是周幾和日期是多少
import java.text.DateFormatSymbols;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class Test {
/**
* @param args
*/
public static void main(String[] args){
Calendar c_begin = new GregorianCalendar();
Calendar c_end = new GregorianCalendar();
DateFormatSymbols dfs = new DateFormatSymbols();
String[] weeks = dfs.getWeekdays();
c_begin.set(2010, 3, 2); //Calendar的月從0-11,所以4月是3.
c_end.set(2010, 4, 20); //Calendar的月從0-11,所以5月是4.
int count = 1;
c_end.add(Calendar.DAY_OF_YEAR, 1); //結束日期下滾一天是為了包含最後一天
while(c_begin.before(c_end)){
System.out.println("第"+count+"周 日期:"+new java.sql.Date(c_begin.getTime().getTime())+", "+weeks[c_begin.get(Calendar.DAY_OF_WEEK)]);
if(c_begin.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY){
count++;
}
c_begin.add(Calendar.DAY_OF_YEAR, 1);
}
}
}
3. java字元串轉換成日期
取字元串的後8位,用正則驗證一下是不是日期,如果是日期,用Format格式一下就可以,如果不是日期,則直接輸出
4. java中如何計算本周開始和結束的日期
思路:首先是獲取該月的實際天數,然後從1號遍歷直至該月最後一天,利用Calendar類找出該日是一周中的第幾天,
(1)若該日是周日,則視為一周結束,並用該日期減去6找到該周的開始日期,若相減結果小於等於1,則說明該周起始日期應該是本月1號。
(1)若該日不是周日,且是該月最後一天,則應該在上面計算的基礎上再加一周,視月末為該周的結束日,該周起始日期應為改日期減去改日
在一周中的位置加2,例如:2013-09-30號是周一,則視為9月份中的第六周,開始日期是30-2+2
提示:Calendar 類中視周日為一周的開始,值是1
示例代碼:
[java] view plain
public static void printfWeeks(String date) throws Exception {
// String date = "2013-09";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
Date date1 = dateFormat.parse(date);
Calendar calendar = new GregorianCalendar();
calendar.setTime(date1);
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("days:" + days);
int count = 0;
for (int i = 1; i <= days; i++) {
DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
Date date2 = dateFormat1.parse(date + "-" + i);
calendar.clear();
calendar.setTime(date2);
int k = new Integer(calendar.get(Calendar.DAY_OF_WEEK));
if (k == 1) {// 若當天是周日
count++;
System.out.println("-----------------------------------");
System.out.println("第" + count + "周");
if (i - 6 <= 1) {
System.out.println("本周開始日期:" + date + "-" + 1);
} else {
System.out.println("本周開始日期:" + date + "-" + (i - 6));
}
System.out.println("本周結束日期:" + date + "-" + i);
System.out.println("-----------------------------------");
}
if (k != 1 && i == days) {// 若是本月最好一天,且不是周日
count++;
System.out.println("-----------------------------------");
System.out.println("第" + count + "周");
System.out.println("本周開始日期:" + date + "-" + (i - k + 2));
System.out.println("本周結束日期:" + date + "-" + i);
System.out.println("-----------------------------------");
}
}
}
測試代碼:
[java] view plain
public static void main(String[] args) throws Exception {
String s = "2013-";
for (int i = 1; i <= 12; i++) {
System.out.println("*******************************************");
System.out.println("月份:" + i);
printfWeeks(s + i);
System.out.println("*******************************************");
}
// printfWeeks(s + 2);
}