[Java]如何获取年份~?
方法一,用Calendar类,可以获取时间的年、月、日、时、分等各个部分
Calendar date = Calendar.getInstance();
String year = String.valueOf(date.get(Calendar.YEAR));
方法二,用SimpleDateFormat对日期格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
Date date = new Date();
String year = sdf.format(date);
java获取当前时间,将天数减一天,返回Date?
要什么格式的?给你个这样的“yy-mm-dd hh-mm-ss”//根据时间字符串把天数加1 public String addOneDay(String time) { String add = null; try { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date timeNow = df.parse(time); Calendar begin=Calendar.getInstance(); begin.setTime(timeNow); begin.add(Calendar.DAY_OF_MONTH,1); add = df.format(begin.getTime()); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } return add; }这是加1的你把1改成-1就行了获取当前时间的函数://获取当前时间 public String getTime() { TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai"); TimeZone.setDefault(tz); Calendar rightNow = Calendar.getInstance(); SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //格式大小写有区别 String sysDatetime = fmt.format(rightNow.getTime()); return sysDatetime; }
时间戳格式?
一、须知:
1. 纯数字时间戳分2种,一种是10位的,只包含年月日时分秒,也就是说,只精确到秒。一种是13位的,包含毫秒。这2种都叫时间戳,并不是只有精确到毫秒的才叫时间戳。
10位时间戳就是从1970-01-01到当前的秒数,注意,不是毫秒数,所以需要按毫秒解析时,要 * 1000
13位时间戳就是从1970-01-01到当前的毫秒数,在java中用Instant对象对应。
2. timestamp的格式化串用大写的S来表示毫秒数。S的个数和毫秒的位数严格对应,否则报错。如果规范中要求精确到毫秒,那么给的时间字符串,那肯定是3位。给2位精确不到毫秒,给4位,获取到的毫秒数也不会包含毫秒之外的信息。