java.util.Date data= new java.util.Date();有个字符窜
String strDate="20070115,184021399,"//YYYYMMDD、hhmmss000
请问
1.如何转化为一个日期相关的类型(如Data,Calendar)?
2.如何判断前一天的日期?
String strDate="20070115,184021399,"//YYYYMMDD、hhmmss000
请问
1.如何转化为一个日期相关的类型(如Data,Calendar)?
2.如何判断前一天的日期?
String dateStr = "20070115,184021399";//YYYYMMDD、hhmmss000
Calendar c = Calendar.getInstance();
c.setTime(df.parse(dateStr));
c.add(Calendar.DAY_OF_MONTH, -1);
System.out.println(df.format(c.getTime()));
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class DateChange {
private final static String DATE_FORMAT = "yyyy-MM-dd";
/**
* @param args
*/
public static void main(String[] args) {
Date day1=DateChange.getFormatDate("20070115,184021399","yyyymmdd,hhmmssSSS");
System.out.println(day1);
Calendar c = Calendar.getInstance();
c.setTime(day1);
c.add(Calendar.DATE,-1);
System.out.println(c.getTime());
}
/**
* 根据格式得到格式化后的日期
* @param currDate 要格式化的日期
* @param format 日期格式,如yyyy-MM-dd
* @see java.text.SimpleDateFormat#parse(java.lang.String)
* @return Date 返回格式化后的日期,格式由参数<code>format</code>定义,如yyyy-MM-dd,如2006-02-15
*/
public static Date getFormatDate(String currDate, String format) {
SimpleDateFormat dtFormatdB = null;
try {
dtFormatdB = new SimpleDateFormat(format);
return dtFormatdB.parse(currDate);
} catch (Exception e) {
dtFormatdB = new SimpleDateFormat(DATE_FORMAT);
try {
return dtFormatdB.parse(currDate);
} catch (Exception ex){}
}
return null;
}
}
String dateStr = "20070115,184021399";//YYYYMMDD、hhmmss000
Calendar c = Calendar.getInstance();
c.setTime(df.parse(dateStr));
c.add(Calendar.DAY_OF_MONTH, -1);
System.out.println(df.format(c.getTime()));
String dateStr = "20070115,184021399";//YYYYMMDD、hhmmss000
Calendar c = Calendar.getInstance();
c.setTime(df.parse(dateStr));
c.add(Calendar.DAY_OF_MONTH, -1);
String dateStr = "20070115,184021399";//YYYYMMDD、hhmmss000
Calendar c = Calendar.getInstance();
c.setTime(df.parse(dateStr));
c.add(Calendar.DAY_OF_MONTH, -1);
System.out.println(df.format(c.getTime()));
//判断两个日期是否在同一周
boolean isSameWeekDates(Date date1, Date date2) {
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
if (0 == subYear) {
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
}
else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {
// 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
}
else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
}
return false;
}
//产生周序列
public static String getSeqWeek(){
Calendar c = Calendar.getInstance(Locale.CHINA);
String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));
if(week.length()==1)week = "0" + week;
String year = Integer.toString(c.get(Calendar.YEAR));
return year+week;
}
//获得周一的日期
public static String getMonday(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
}
//获得周五的日期
public static String getFriday(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY);
return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
}//当前日期前几天或者后几天的日期 public static String afterNDay(int n){
Calendar c=Calendar.getInstance();
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
c.setTime(new Date());
c.add(Calendar.DATE,n);
Date d2=c.getTime();
String s=df.format(d2);
return s;
}
public static void main(String[] args){ }}经常碰到把一个字符串转成一个Date的问题,其实就3句话:String myString = "2005/12/20";SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.CHINA);
Date d = sdf.parse(myString);下面是个例子,存档package formatdatetime;import java.text.*;
import java.util.*;/**
* @author Administrator
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class StringToDateTimeTest { public static void main(String[] args) { String myString = "Tue Oct 18 04:11:56 CST 2005";
//String myString = "2005/12/20";
try {
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.CHINA);
Date d = sdf.parse(myString);
Calendar c = Calendar.getInstance();
c.setTime(d);
String s = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
System.out.println(s);
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.text.DateFormat;下面这句语法错误 请帮忙
c.setTime(df.parse(dateStr));环境eclipse JDK5.0
我想以新的格式2007/01/01 10:10:10 `获得当前的时间请高人帮我看看。谢谢。DateFormat df2 = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
String strTime = new String("2007/01/01 10:10:10");
try{
Calendar c = Calendar.getInstance();
c.setTime(df2.parse(strTime));
Date date = new Date();
c.setTime(date);
System.out.println(df.format(c.getTime()));
strTime = "" + df.format(c.getTime());
}catch(Exception e){
e.printStackTrace();
}
DateFormat df2 = new SimpleDateFormat("yyyy年MM月dd日 hh小时mm分钟ss");
String strTime = new String("2007年01月01日 10小时10分钟10");
String strTime = new String("2007/01/01 10:10:10");
try {
Calendar c = Calendar.getInstance();
c.setTime(df.parse(strTime));
System.out.println(df.format(c.getTime())); Date date = new Date();
c.setTime(date);
System.out.println(df.format(c.getTime()));
strTime = "" + df.format(c.getTime());
} catch (Exception e) {
e.printStackTrace();
}