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);
}