import java.util.Date;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Calendar;
//包含 Date、SimpleDateFormat、Calendar
public class DateDemo{
/**
Date 日期类型
是用距离固定时间点的毫秒数表达的一个特定的毫秒数
固定的时间点: UTC时间的 1970年1月1日 00:00:00
*/
public static void main(String [] args){
//DateApi();
//SDF();
//calendarApi();
//Shelf();
System.out.println(reverse(-1534236469));
}
public static int reverse(int x) {
String a = x + "";
StringBuffer sb = new StringBuffer(a);
sb.reverse();
for(int i= 0;i < a.length(); i ++){
if(!(sb.charAt(i)==('0'))){
sb.delete(0,i);
break;
}
}
if(sb.charAt(sb.length()-1)==('-')){
sb.delete(sb.length()-1,sb.length());
sb.insert(0,"-");
}
a = sb.toString();
System.out.println(a+"\t"+a.length());
int result = 0 ;
try{
result = Integer.parseInt(a);
}catch(Exception e){
}
return result;
}
/**
促销日期: 到保质期前14天所在的周三 为促销日
*/
public static void Shelf (){
Calendar c = Calendar.getInstance();
c.setTime(new Date());
c.add(Calendar.DATE, -14);
c.set(Calendar.DAY_OF_WEEK, 4);
System.out.println("促销日期:"+c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+c.get(Calendar.DAY_OF_MONTH)+"号");
}
/**
Calendar 用来封装日历信息,方便获取时间分量
*/
public static void calendarApi(){
Calendar c = Calendar.getInstance();
c.setTime(new Date());
System.out.println(c);
System.out.println("年:"+c.get(Calendar.YEAR));
System.out.println("月:"+(c.get(Calendar.MONTH)+1));
System.out.println("日:"+c.get(Calendar.DAY_OF_MONTH));
}
/**
SimpleDateFormat 这个类可以按照我们的方式来格式化和解析日期,简单的说是日期类(Date)的加工类
通配符:
yyyy 四位数的年分
MM 月
DD 相对于年的天数
dd 相对于月的天数
E 星期
a AM/PM 标识
HH 24小时制的小时
hh 12小时制的小时
mm 分钟
ss 秒
*/
public static void SDF(){
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");
//将日期转为字符串
String currDate = sdf.format(new Date());
System.out.println("当前日期:"+currDate);
//将字符串转为日期,这个字符串的格式要对应构造方法的格式
try{
//注意使用parse方法时 SimpleDateFormat里面的构造参数的 y不能大写
//原因不明,所以还是建议统一使用小写的y
sdf = new SimpleDateFormat("yyyy年MM月dd号");
Date date = sdf.parse("2008年08月08号");
System.out.println("2008年08月08号:"+date);
}catch(ParseException e){
e.printStackTrace();
}
//完整的日期
sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
String currFullDate = sdf.format(new Date());
System.out.println("当前完整日期:"+currFullDate);
}
public static void DateApi(){
Date date = new Date();
System.out.println("系统当前时间:"+date);
long dateLong = date.getTime();
System.out.println("获取1970年1月1日 00:00:00至今的毫秒数:"+dateLong);
date.setTime(0);
System.out.println("最初的时间:"+date);
}
}