##################################################
import java.util.Calendar;
import java.util.Date;
/*java.util.Calendar
* 日历类 是一个抽象类定义了正对某一种日期历法的相关操作
* 有相关子类实现,最长用的即是阳历法
* GregroianCalendar
* Calendar提供了静态方法来获取一个当前系统的所在地区的日历实、
* 实现类 大部分地区返回的是阳历立法
*
*/
public class CalendarDemo1 {
public static void main(String[] arg){
/*
* 获取来的实现类表示当前系统的时间.
* 反映具体时间.
*/
Calendar calendar=Calendar.getInstance();
System.out.println(calendar);
/*
* Calendar-->date
* Date getTime();
* Calendar提供了一个getTimer
* 该方法可以将自身表示的时间日期以一个Date对象形式返回。
*/
Date date=calendar.getTime();
System.out.println(date);
/*
* Date---->Calendar
* void setTime(Date date)
* Calendar提供了方法setTime(),
* 可以将给定的Date对象传入。以使得当前的Calendar表示给行动额Date
* 所表示的日期。
*/
calendar.setTime(date);
/*Date,SimpleDateFormat,Calendar
}
}
###################################
import java.util.Calendar;
/*
* Calendar 提供了可以针对不同时间分量
* 单独设置值的相关方法
* void set(int field,int value)
* 对指定的时间分量这是指定的值
*
*/
public class CallendarDemo2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
Calendar calendar=Calendar.getInstance();
System.out.println(calendar);
calendar.set(Calendar.YEAR,2008);
System.out.println(calendar.getTime());
calendar.set(Calendar.MONTH,7);
System.out.println(calendar.getTime());
calendar.set(Calendar.HOUR,3);
System.out.println(calendar.getTime());
/*
* 设置日
* 设置周时要注意:
* 1 表示周日
* 2 表示周一
* 依次类推
*也可以用常量
*
*/
calendar.set(Calendar.DAY_OF_MONTH, 2);
System.out.println(calendar.getTime());
calendar.set(Calendar.HOUR_OF_DAY, 7);
System.out.println(calendar.getTime());
}
}
##############################
import java.util.Calendar;
public class CalendarDemo3 {
/**
* 获取一个时间分量所对应的值:
* int get(int filed)
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
Calendar calendar=Calendar.getInstance();
int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH)+1;
int day=calendar.get(Calendar.DATE);
int hour=calendar.get(Calendar.HOUR_OF_DAY);
int minute=calendar.get(Calendar.MINUTE);
int second=calendar.get(Calendar.SECOND);
int dow=calendar.get(Calendar.DAY_OF_WEEK);
String[] data={"七","一","二","三","四","五","六"};
System.out.println(year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second);
System.out.println("周"+data[dow-1]);
/*
* 获取某一个时间分量所允许的最大值
*/
int max=calendar.getActualMaximum(Calendar.DAY_OF_YEAR);
System.out.println(max);
}
}
#####################################################
package day03;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/*
* void add(int filed,int value)
* 对给定的时间分量累加给定的值 若value是负数 则做减法操作
*/
public class CalendarDemo4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
/*
* 计算3年2月零25天的前三天是那天
*
*/
Calendar calendar=Calendar.getInstance();
calendar.add(Calendar.YEAR, 3);
calendar.add(Calendar.MONTH, 2);
calendar.add(Calendar.DAY_OF_YEAR,25);
calendar.add(Calendar.DAY_OF_YEAR,-3);
System.out.println(calendar.getTime());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date date=calendar.getTime();
String str=sdf.format(date);
System.out.println(str);
}
}
##################################################################################
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormat1 {
/**
* SimpleDateFormat可以根据的指定的日期格式
* 将String与Date之间相互转换
* @param args
*/
public static void main(String[] args) {
/*
* 从data转换为string;
*/
Date date=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(date);
String str=sdf.format(date);
System.out.println(str);
}
}
###################################################################################3
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo2 {
/**
* 使用Simpledateformat将按字符串按照指定的日期格式解析为Date对象
*
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
// TODO 自动生成的方法存根
String str="2008/08/08 10:20:30";
SimpleDateFormat sdf =new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date =sdf.parse(str);
System.out.println(date);
}
}
#################################################
求促销时间的实现程序:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
/*
* 程序实现功能
* 给出生产日期。然后添加保质时间,促销日期为保质日期前两周的周三
* 输出促销日期时间
*/
public class Demo7 {
public static void main(String[] args) throws Exception {
System.out.println(" 请输入生产日期:格式(yyyy-mm-dd)");
Scanner scan=new Scanner(System.in);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String str=scan.nextLine();
Date date=sdf.parse(str);
System.out.println("请输入保质天数:");
int day=scan.nextInt();
Calendar ca=Calendar.getInstance();
ca.setTime(date);
ca.add(Calendar.DAY_OF_YEAR, day);
ca.add(Calendar.DAY_OF_YEAR, -14);
ca.add(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
Date datetime=ca.getTime();
String strday=sdf.format(datetime);
System.out.println("保质日期是:"+strday);
}
}