
代码如下:
package comgracetest;
import javatextDateFormat;
import javatextParseException;
import javatextSimpleDateFormat;
import javautilCalendar;
import javautilDate;
public class showDate {
public static void main(String[] args) throws ParseException {
Date d = new Date();
String s = null;
/ 输出格式: Mon May 05 15:23:58 CST 2014 /
Systemoutprintln(d);
/ 输出格式: 2014-5-5 /
s = DateFormatgetDateInstance()format(d);
Systemoutprintln(s);
/ 输出格式: 2014-5-5 /
s = DateFormatgetDateInstance(DateFormatDEFAULT)format(d);
Systemoutprintln(s);
/ 输出格式: 2014年5月5日 星期一 /
s = DateFormatgetDateInstance(DateFormatFULL)format(d);
Systemoutprintln(s);
/ 输出格式: 2014-5-5 /
s = DateFormatgetDateInstance(DateFormatMEDIUM)format(d);
Systemoutprintln(s);
/ 输出格式: 14-5-5 /
s = DateFormatgetDateInstance(DateFormatSHORT)format(d);
Systemoutprintln(s);
/ 输出格式: 2014-5-05 00:00:00 大写H为24小时制 /
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
s = sdfformat(d);
Systemoutprintln(s);
/ 输出格式: 2014-5-05 00:00:00 小写h为12小时制 /
DateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
s = sdf2format(d);
Systemoutprintln(s);
/ 输出格式: 20140505000000 /
DateFormat sdf3 = new SimpleDateFormat("yyyyMMddHHmmss");
s = sdf3format(d);
Systemoutprintln(s);
/ 字符串转换城日期格式 /
s = sdfformat(d);
Date today = sdfparse(s);
Systemoutprintln("字符串转成日期1:" + today);
Systemoutprintln("字符串转成日期2:" + sdfformat(today));
/ 单独输出年月日时分秒等 /
Calendar c = CalendargetInstance();
Systemoutprintln("年: " + cget(CalendarYEAR));
// 月份从0开始,加1校正
Systemoutprintln("月: " + (cget(CalendarMONTH) + 1) + "");
Systemoutprintln("日: " + cget(CalendarDAY_OF_MONTH));
Systemoutprintln("时: " + cget(CalendarHOUR_OF_DAY));
Systemoutprintln("分: " + cget(CalendarMINUTE));
Systemoutprintln("秒: " + cget(CalendarSECOND));
Systemoutprintln("当前时间毫秒数:" + cgetTimeInMillis());
Systemoutprintln("当前时间: " + cgetTime());
}
}
采用日历类Calendar\x0d\\x0d\Calendar calendar = CalendargetInstance();\x0d\//第二个参数的意思表示与当前时间的比较,数字表示天数,1表示下一天 -1表示前一天。\x0d\calendaradd(CalendarDAY_OF_MONTH,1);\x0d\//这样就可以获取到下一天,然后你自己去格式化吧\x0d\calendargetTime();
我的理解是如果输入的星期等于当前日期的星期数,那么返回下一个周对应星期数的日期,否则返回当前日期往后最近的一个匹配的星期数的日期。如果我的理解没问题的话下面代码就能满足你的要求:
import javautilCalendar;import javautilDate;
public class Main {
public static void main(String[] args) {
Systemoutprintln(getDateByWeek(2));
}
/
根据星期获取日期
@param week 星期几 1代码星期日,2代表星期一。。。7代表星期六
@return
/
public static Date getDateByWeek(int week) {
int targetWeek = week;
Calendar c = CalendargetInstance();
// 当前日期星期数
int currWeek = cget(CalendarDAY_OF_WEEK);
if (currWeek == targetWeek) {
// 如果所给星期数和当前日期星期数相等则向后推7天
cadd(CalendarDAY_OF_MONTH, 7);
return cgetTime();
}
do {
// 向后推一天,直到星期数与所给星期数相同
cadd(CalendarDAY_OF_MONTH, 1);
} while (targetWeek != cget(CalendarDAY_OF_WEEK));
return cgetTime();
}
}
import javatextSimpleDateFormat;
import javautilDate;
Date d=new Date();//获取时间
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//转换格式
Systemoutprintln(sdfformat(d));//打印
java里没有一种方法是直接写这种格式化的,都要通过SimpleDateFormat()方法进行转换,可以通过new Date()方法和CalendargetInstance()getTime()方法获得时间,格式如下"Fri Sep 30 16:38:28 CST 2011" 。所有获得时间都要通过SimpleDateFormat()方法转换才会是“2012-05-12 14:28:55”这个样子。
SimpleDateFormat fmt =new SimpleDateFormat("yyyy-MM-dd");
Date cDate = null;
// 与当前日期相差的天数,如果为+的话则当前日期往后+days天,否则往前-days天
int days = -7;
try {
String pattern = "yyyy-MM-dd";//获取的日期格式
SimpleDateFormat df = new SimpleDateFormat(pattern);
Date today = new Date();//获取当前日期
String currentDate = dfformat(today);//获取当前日期的字符串
Calendar cal=CalendargetInstance();
cDate = fmtparse(currentDate);
calsetTime(cDate);
caladd(CalendarDAY_OF_YEAR,days); //将日期+days获取你想要的日期
currentDate = fmtformat(calgetTime());
Systemoutprintln(currentDate);
} catch (ParseException e) {
eprintStackTrace();
}
以上就是关于java中如何输出当时的日期和时间全部的内容,包括:java中如何输出当时的日期和时间、用java获取日期格式是“YY MMDD ”的时间的方法是什么、java 根据所填写的星期数获取日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)