Date常用转换比较

Posted bonly-ge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Date常用转换比较相关的知识,希望对你有一定的参考价值。

  1. 在项目开发过程中,遇到了一个需要把本年本月的充值超过1000元的用户都获取出来,但是我数据库时间存的是int类型。所以不知道where的条件语句怎么写,特此查了一下,再此总结一下,希望对需要的朋友能有所帮助。
  2. 总体思想是获取出来本月初和本月末的时间转化成int在where查询条件为之间的值。

    引发出的问题:1) java获取当前系统时间

             2)获取月初的月末的时间

             3)时间格式转化成int

3. 时间转化用到的两个类 import java.util.Calendar; (日历) import java.text.SimpleDateFormat;(时间格式化)

下面一一解决:

1) java获取当前系统时间,获取值是毫秒数

//方法   

System.currentTimeMillis();   

//方法   

Calendar.getInstance().getTimeInMillis();  

//方法   

new Date().getTime(); 

 

2)获取月初的月末的时间:把获取出来的时间进行格式化,形成yyyy-MM格式进行输出,获取出来的值就是本月的月初的时间。因为2017—07转成的int值和2017-07-01 00:00:00 是一样的值。

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常用转换比较的主要内容,如果未能解决你的问题,请参考以下文章

MySQL日期 字符串 时间戳互转

js 常用日期转换

Math常用类Date类Calendar类两者相互转换

oracle常用& to_date()怎么转换带am pm的时间格式

java开发常用的日期格式转换工具类

js里Date时间格式的常用转换-------(GMT转成yyyy-MM-dd)--------(根据日期获得星期几)