java 时间使用
今天工作中用到了时间类,需要发送邮件的实时时间以及之前一天的年月日,趁机复习一下。
import java.text.SimpleDateFormat; import java.util.Date; public class DateTest { public static void main(String[] args) { Date newtime = new Date(); SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String t = s.format(newtime); System.out.print(t); } }
而对于要求的前一天时间
import java.text.SimpleDateFormat; import java.util.Date; public class DateTest { public static void main(String[] args) { long yesterdaytime = new Date().getTime()-24*3600*1000; SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd"); String t = s.format(yesterdaytime); System.out.print(t); } }
其他晚上找到可能用到的:
String 和 Date ,Long 之间相互转换 (最常用)
字符串转化成时间类型(字符串可以是任意类型,只要和SimpleDateFormat中的格式一致即可)
通常我们取时间跨度的时候,会substring出具体时间--long-比较
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateTest { public static void main(String[] args) throws ParseException { java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("M/dd/yyyy hh:mm:ss a",java.util.Locale.US); java.util.Date d = sdf.parse("5/13/2003 10:31:37 AM"); long dvalue=d.getTime(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String mDateTime1=formatter.format(d); } }
网上找的前一天时间代码实现
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateTest { public static void main(String[] args) { Date dNow = new Date(); //当前时间 Date dBefore = new Date(); Calendar calendar = Calendar.getInstance(); //得到日历 calendar.setTime(dNow);//把当前时间赋给日历 calendar.add(Calendar.DAY_OF_MONTH, -1); //设置为前一天 dBefore = calendar.getTime(); //得到前一天的时间 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置时间格式 String defaultStartDate = sdf.format(dBefore); //格式化前一天 String defaultEndDate = sdf.format(dNow); //格式化当前时间 System.out.println("前一天的时间是:" + defaultStartDate); System.out.println("生成的时间是:" + defaultEndDate); } }