Date常用转换比较
Posted bonly-ge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Date常用转换比较相关的知识,希望对你有一定的参考价值。
- 在项目开发过程中,遇到了一个需要把本年本月的充值超过1000元的用户都获取出来,但是我数据库时间存的是int类型。所以不知道where的条件语句怎么写,特此查了一下,再此总结一下,希望对需要的朋友能有所帮助。
- 总体思想是获取出来本月初和本月末的时间转化成int在where查询条件为之间的值。
引发出的问题:1) java获取当前系统时间
3. 时间转化用到的两个类 import java.util.Calendar; (日历) import java.text.SimpleDateFormat;(时间格式化)
//方法 一 System.currentTimeMillis(); //方法 二 Calendar.getInstance().getTimeInMillis(); //方法 三 new Date().getTime(); |
Long time = System.currentTimeMillis();//获取当前时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//按照这个格式输出 String date = sdf.format(time);//转换成标准格式进行输出 // parse方法用于将字符串类型的日期/时间解析为Date类型。 String MT = String.valueOf(sdf.parse(date).getTime() / 1000);//月初的时间字符串int值 |
3)获取月末的时间需要用现在的月初的时间加上1 就是下个月的月初的时间int在 – 1秒就是这个月的月末
public static void main(String[] args) { GregorianCalendar gc = new GregorianCalendar(2015, Calendar.MAY, 6);//参数不设置默认是当前时间 gc.add(Calendar.MONTH, 1);//其中可以是月也可以是DATE YEAR System.out.println(gc.getTime());//Sat Jun 06 00:00:00 CST 2015 运行结果 } |
Calendar gc = Calendar.getInstance();//获取时间 //gc.set(Calendar.MONTH, 1);//设置月份 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式输出 String date= sdf.format(gc.getTime()); System.out.println(date);//输出为2017-07 try { String aft= String.valueOf(sdf.parse(date).getTime() / 1000); System.out.println(aft);//输出为1498838400,再减去1就是上个月末 } catch (Exception e) { } |
参考网址:http://www.jb51.net/article/76920.htm(运算比较)
http://tangmingjie2009.iteye.com/blog/1543166(各种获取时间的速度)
http://darkmasky.iteye.com/blog/829302 (时间与long的转换 )
以上是关于Date常用转换比较的主要内容,如果未能解决你的问题,请参考以下文章