Speedment 是使用 ORM 方式操作数据库的一种选择,以前我们需要100行操作数据库的 Java 代码,在 Java 8中,可能只需要一行代码。 在90年代末,我使用 Java 开发数据库应用的时候,许多代码逻辑都需要自己来编写,比如捕获异常、类型转换等,经过许多改动,最
得到java时间戳 用于数据库中按时间戳查询数据
包括:今天、昨天、本周、本月、本年、选定的时间段
package test;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class DateTest {
public static long FromYear(){
Calendar nowDate = new java.util.GregorianCalendar();
nowDate.set(Calendar.HOUR_OF_DAY,0);
nowDate.set(Calendar.MINUTE,0);
nowDate.set(Calendar.SECOND,0);
nowDate.set(Calendar.MILLISECOND,0);
nowDate.set(Calendar.DAY_OF_MONTH,1);
nowDate.set(Calendar.MONTH,0);
return nowDate.getTimeInMillis()/1000;
}
public static long ToYear(){
Calendar nowDate= new java.util.GregorianCalendar();
nowDate.set(Calendar.HOUR_OF_DAY,0);
nowDate.set(Calendar.MINUTE,0);
nowDate.set(Calendar.SECOND,0);
nowDate.set(Calendar.MILLISECOND,0);
nowDate.set(Calendar.DAY_OF_MONTH,1);
nowDate.set(Calendar.MONTH,12);
return nowDate.getTimeInMillis()/1000;
}
public static long FromMonth(){
Calendar nowDate = new java.util.GregorianCalendar();
nowDate.set(Calendar.HOUR_OF_DAY,0);
nowDate.set(Calendar.MINUTE,0);
nowDate.set(Calendar.SECOND,0);
nowDate.set(Calendar.MILLISECOND,0);
nowDate.set(Calendar.DAY_OF_MONTH,1);
return nowDate.getTimeInMillis()/1000;
}
public static long ToMonth(){
Calendar nowDate = new java.util.GregorianCalendar();
nowDate.set(Calendar.HOUR_OF_DAY,0);
nowDate.set(Calendar.MINUTE,0);
nowDate.set(Calendar.SECOND,0);
nowDate.set(Calendar.MILLISECOND,0);
nowDate.set(Calendar.DAY_OF_MONTH,1);
nowDate.add(Calendar.MONTH,1);
return nowDate.getTimeInMillis()/1000;
}
public static long FromWeek(){
Calendar nowDate = new java.util.GregorianCalendar();
nowDate.set(Calendar.HOUR_OF_DAY,0);
nowDate.set(Calendar.MINUTE,0);
nowDate.set(Calendar.SECOND,0);
nowDate.set(Calendar.MILLISECOND,0);
nowDate.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
return nowDate.getTimeInMillis()/1000;
}
public static long ToWeek(){
Calendar nowDate = new java.util.GregorianCalendar();
nowDate.set(Calendar.HOUR_OF_DAY,0);
nowDate.set(Calendar.MINUTE,0);
nowDate.set(Calendar.SECOND,0);
nowDate.set(Calendar.MILLISECOND,0);
nowDate.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
nowDate.add(Calendar.WEEK_OF_MONTH,1);
return nowDate.getTimeInMillis()/1000;
}
public static long FromYesterday(){
Calendar nowDate = new java.util.GregorianCalendar();
nowDate.set(Calendar.HOUR_OF_DAY,0);
nowDate.set(Calendar.MINUTE,0);
nowDate.set(Calendar.SECOND,0);
nowDate.set(Calendar.MILLISECOND,0);
nowDate.add(Calendar.DAY_OF_MONTH,-1);
return nowDate.getTimeInMillis()/1000;
}
public static long ToYesterday(){
Calendar nowDate = new java.util.GregorianCalendar();
nowDate.set(Calendar.HOUR_OF_DAY,0);
nowDate.set(Calendar.MINUTE,0);
nowDate.set(Calendar.SECOND,0);
nowDate.set(Calendar.MILLISECOND,0);
return nowDate.getTimeInMillis()/1000;
}
public static long FromToday(){
Calendar nowDate = new java.util.GregorianCalendar();
nowDate.set(Calendar.HOUR_OF_DAY,0);
nowDate.set(Calendar.MINUTE,0);
nowDate.set(Calendar.SECOND,0);
nowDate.set(Calendar.MILLISECOND,0);
return nowDate.getTimeInMillis()/1000;
}
public static long ToToday(){
Calendar nowDate = new java.util.GregorianCalendar();
nowDate.set(Calendar.HOUR_OF_DAY,0);
nowDate.set(Calendar.MINUTE,0);
nowDate.set(Calendar.SECOND,0);
nowDate.set(Calendar.MILLISECOND,0);
nowDate.add(Calendar.DAY_OF_MONTH,1);
return nowDate.getTimeInMillis()/1000;
}
/**startDate 格式 2009-02-03
* startTime 格式 12:20
* */
public static long FromTime(String startDate,String startTime){
Calendar nowDate = new java.util.GregorianCalendar();
long fromtime=0;
if(!startDate.equals("")){
String []s=startDate.split("-");
nowDate = new java.util.GregorianCalendar();
nowDate.set(Calendar.DAY_OF_MONTH,Integer.parseInt(s[2]));
nowDate.set(Calendar.MONTH,Integer.parseInt(s[1])-1);
nowDate.set(Calendar.YEAR,Integer.parseInt(s[0]));
String []t=startTime.split(":");
nowDate.set(Calendar.HOUR_OF_DAY,Integer.parseInt(t[0]));
nowDate.set(Calendar.MINUTE,Integer.parseInt(t[1]));
nowDate.set(Calendar.SECOND,0);
fromtime = nowDate.getTimeInMillis()/1000;
}
return fromtime;
}
/**endDate 格式 2009-02-03
* endTime 格式 12:20
* */
public static long ToTime(String endDate,String endTime){
Calendar nowDate = new java.util.GregorianCalendar();
long totime=0;
if(!endDate.equals("")){
String []s=endDate.split("-");
nowDate = new java.util.GregorianCalendar();
nowDate.set(Calendar.DAY_OF_MONTH,Integer.parseInt(s[2]));
nowDate.set(Calendar.MONTH,Integer.parseInt(s[1])-1);
nowDate.set(Calendar.YEAR,Integer.parseInt(s[0]));
String []t=endTime.split(":");
nowDate.set(Calendar.HOUR_OF_DAY,Integer.parseInt(t[0]));
nowDate.set(Calendar.MINUTE,Integer.parseInt(t[1]));
nowDate.set(Calendar.SECOND,0);
totime = nowDate.getTimeInMillis()/1000;
}
return totime;
}
//格式化时间戳,现今所有的 Web都是基于数据库的,可见数据库在Web中的开发时如此的重要。然而基本上所有的网站都是要求客户登陆的时候都必须事先注册账号,这样才能进入网页,访问其中的页面,资源。。开发基于数据库的Web程序时,涉及到多个用户同时请求与数据库建立"连接"参数为秒,不需要乘以1000
public static String FormatTimeStamp(String pattern, long date) {
if(pattern.length()==0)
pattern = "yyyy-MM-dd HH:mm:ss";
java.util.Calendar nowDate = new java.util.GregorianCalendar();
nowDate.setTimeInMillis(date*1000);
DateFormat df = new SimpleDateFormat(pattern);
return df.format(nowDate.getTime());
}
public static void main(String args[]){
System.out.println("今天:");
System.out.println(FormatTimeStamp("",FromToday())+"---"+FormatTimeStamp("",ToToday()));
System.out.println("昨天:");
System.out.println(FormatTimeStamp("",FromYesterday())+"---"+FormatTimeStamp("",ToYesterday()));
System.out.println("本周:");
System.out.println(FormatTimeStamp("",FromWeek())+"---"+FormatTimeStamp("",ToWeek()));
System.out.println("本月:");
System.out.println(FormatTimeStamp("",FromMonth())+"---"+FormatTimeStamp("",ToMonth()));
System.out.println("本年:");
System.out.println(FormatTimeStamp("",FromYear())+"---"+FormatTimeStamp("",ToYear()));
System.out.println("固定时间段:2008-02-28 00:00-----2009-03-31 12:22");
System.out.println(FormatTimeStamp("",FromTime("2008-02-28","00:00"))+"---"+FormatTimeStamp("",ToTime("2009-03-31","12:22")));
}
}