자바 현재 날짜 시간 코드 요약 가 져 오기

18269 단어 Java
하 나 를 얻 으 려 고 했 는데  yyy-mm-dd(년 월 일 만 있 으 면 시간 이 필요 하지 않 음),
한참 동안 찾 아 보 았 지만 비슷 한 방법 이 없 었 습 니 다.new Date 에 포 함 된 시간 을 사용 하여 방법 을 생각해 보 았 습 니 다.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date parseDate = sdf.parse(sdf.format(new Date()));

new Date()를 yyy-MM-dd 형식 으로 포맷 한 다음 parse()를 분석 한 결과 debug 에서 parseDate 의 값 을'2019-03-26 00:00:00'으로 보 았 습 니 다.여전히 시간 이 포함 되 어 있 습 니 다~~!
테스트 는 데이터베이스 에서 값 을 가 져 옵 니 다.데이터베이스 도 2019-03-26 형식의 필드 입 니 다.데이터베이스 에 있 는 필드 를 가 져 왔 습 니 다.2019-03-26 이 바 뀌 었 습 니 다. 2019-03-26 00:00:00   여전히 시간 을 가지 고 있다.자바 의 시간 형식 은 기본적으로 시간 을 가 져 왔 을 수도 있 습 니 다.또 본 큰 사람 은 댓 글 에서 설명 할 수 있 습 니 다.
 
1.현재 시간 을 가 져 와 특정한 시간 과 비교 합 니 다.이 때 는 주로 롱 형의 시간 값 을 받는다.
 방법 은 다음 과 같다. 
java.util.Date 를 사용 해 야 합 니 다.현재 시간 을 가 져 오 는 코드 는 다음 과 같 습 니 다.
Date date = new Date();

date.getTime() ;

System.currentTimeMillis()를 사용 하 는 방법 도 있 습 니 다.모두 현재 시간 을 얻 은 long 형의 시간의 밀리초 값 입 니 다.이 값 은 실제 현재 시간 값 과 1970 년 1 월 1 일 0 시 0 분 0 초 차이 가 나 는 밀리초 입 니 다.
1.현재 시간 가 져 오기,   형식:   yyyy-mm-dd   hh-mm-ss
DateFormat.getDateTimeInstance(2, 2, Locale.CHINESE).format(new java.util.Date());

2.현재 시간 획득,   형식:   년 mm 월 dd 일   오전/오후
DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.CHINESE)
.format(new java.util.Date());

3.현재 시간 가 져 오기(밀리초 까지 정확),   형식:   yyyy-mm-dd   hh:mm:ss.nnn
new java.sql.Timestamp(System.currentTimeMillis()).toString();

4.현재 시스템 시간 과 날 짜 를 가 져 오고 출력 을 포맷 합 니 다:
import java.util.Date;
import java.text.SimpleDateFormat;

public class NowString {
public static void main(String[] args) { 
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//      
        System.out.println(df.format(new Date()));// new Date()         
    }
}
package com.hefeng.test;
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class TimeTest {

    //          ,  ,        
    private int weeks = 0;
    private int MaxDate;//      
    private int MaxYear;//      

    /**
    * @param args
    */
    public static void main(String[] args) {
        TimeTest tt = new TimeTest();
        System.out.println("  6      :"+tt .getAfterMonth(6);
        System.out.println("      :"+tt.getNowTime("yyyy-MM-dd"));
        System.out.println("       :"+tt.getMondayOFWeek());
        System.out.println("        ~:"+tt.getCurrentWeekday());
        System.out.println("       :"+tt.getPreviousWeekday());
        System.out.println("       :"+tt.getPreviousWeekSunday());
        System.out.println("       :"+tt.getNextMonday());
        System.out.println("       :"+tt.getNextSunday());
        System.out.println("        :"+tt.getNowTime("yyyy-MM-dd"));
        System.out.println("         :"+tt.getFirstDayOfMonth());
        System.out.println("          :"+tt.getDefaultDay());
        System.out.println("         :"+tt.getPreviousMonthFirst());
        System.out.println("           :"+tt.getPreviousMonthEnd());
        System.out.println("         :"+tt.getNextMonthFirst());
        System.out.println("          :"+tt.getNextMonthEnd());
        System.out.println("          :"+tt.getCurrentYearFirst());
        System.out.println("          :"+tt.getCurrentYearEnd());
        System.out.println("          :"+tt.getPreviousYearFirst());
        System.out.println("           :"+tt.getPreviousYearEnd());
        System.out.println("         :"+tt.getNextYearFirst());
        System.out.println("          :"+tt.getNextYearEnd());
        System.out.println("             :"+tt.getThisSeasonTime(11));
        System.out.println("            2008-12-1~2008-9-29:"+TimeTest.getTwoDay("2008-12-1","2008-9-29"));
    }

    /**
    *       ( )           
    */
    public static String  getAfterMonth(int month) {
        Calendar c = Calendar.getInstance();//            
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");   
        Date date = null;   
        try{   
            date = sdf.parse("2009-11-04");//       
        }catch(Exception e){  
        }   
        c.setTime(date);//         
        c.add(Calendar.MONTH,month);//         6     
        String strDate = sdf.format(c.getTime()));//      6         
        return strDate;
    }

    /**
    *             
    */
    public static String getTwoDay(String sj1, String sj2) {
        SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
        long day = 0;
        try {
                java.util.Date date = myFormatter.parse(sj1);
                java.util.Date mydate = myFormatter.parse(sj2);
                day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
            } catch (Exception e) {
                return "";
        }
        return day + "";
    }

    /**
    *       ,          
    */
    public static String getWeek(String sdate) {
        //       
        Date date = TimeTest.strToDate(sdate);
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        // int hour=c.get(Calendar.DAY_OF_WEEK);
        // hour          ,    1~7
        // 1=    7=   ,    
        return new SimpleDateFormat("EEEE").format(c.getTime());
    }

    /**
    *                yyyy-MM-dd
    */
    public static Date strToDate(String strDate) {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        ParsePosition pos = new ParsePosition(0);
        Date strtodate = formatter.parse(strDate, pos);
        return strtodate;
    }

    /**
    *          
    *
    * @param date1
    * @param date2
    * @return
    */
    public static long getDays(String date1, String date2) {
        if (date1 == null || date1.equals(""))
            return 0;
        if (date2 == null || date2.equals(""))
            return 0;
        //        
        SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
        java.util.Date date = null;
        java.util.Date mydate = null;
        try {
                date = myFormatter.parse(date1);
                mydate = myFormatter.parse(date2);
            } catch (Exception e) {
        }
        long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
        return day;
    }

    //         ,     
    public String getDefaultDay(){
        String str = "";
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Calendar lastDate = Calendar.getInstance();
        lastDate.set(Calendar.DATE,1);//      1  
        lastDate.add(Calendar.MONTH,1);//    ,     1  
        lastDate.add(Calendar.DATE,-1);//    ,        
        str=sdf.format(lastDate.getTime());
        return str;
    }

    //      
    public String getPreviousMonthFirst(){
        String str = "";
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Calendar lastDate = Calendar.getInstance();
        lastDate.set(Calendar.DATE,1);//      1  
        lastDate.add(Calendar.MONTH,-1);//    ,     1  
        //lastDate.add(Calendar.DATE,-1);//    ,        
        str=sdf.format(lastDate.getTime());
        return str;
    }

    //       
    public String getFirstDayOfMonth(){
        String str = "";
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Calendar lastDate = Calendar.getInstance();
        lastDate.set(Calendar.DATE,1);//      1  
        str=sdf.format(lastDate.getTime());
        return str;
    }

    //           
    public String getCurrentWeekday() {
        weeks = 0;
        int mondayPlus = this.getMondayPlus();
        GregorianCalendar currentDate = new GregorianCalendar();
        currentDate.add(GregorianCalendar.DATE, mondayPlus+6);
        Date monday = currentDate.getTime();
        DateFormat df = DateFormat.getDateInstance();
        String preMonday = df.format(monday);
        return preMonday;
    }

    //      
    public String getNowTime(String dateformat){
        Date now = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);// 
           
               
        String hehe = dateFormat.format(now);
        return hehe;
    }

    //                
    private int getMondayPlus() {
        Calendar cd = Calendar.getInstance();
        //            ,       ,       ......
        int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK)-1; //                  1
        if (dayOfWeek == 1) {
            return 0;
        } else {
            return 1 - dayOfWeek;
        }
    }

    //        
    public String getMondayOFWeek(){
        weeks = 0;
        int mondayPlus = this.getMondayPlus();
        GregorianCalendar currentDate = new GregorianCalendar();
        currentDate.add(GregorianCalendar.DATE, mondayPlus);
        Date monday = currentDate.getTime();
        DateFormat df = DateFormat.getDateInstance();
        String preMonday = df.format(monday);
        return preMonday;
    }

    //           
    public String getSaturday() {
        int mondayPlus = this.getMondayPlus();
        GregorianCalendar currentDate = new GregorianCalendar();
        currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks + 6);
        Date monday = currentDate.getTime();
        DateFormat df = DateFormat.getDateInstance();
        String preMonday = df.format(monday);
        return preMonday;
    }

    //           
    public String getPreviousWeekSunday() {
        weeks=0;
        weeks--;
        int mondayPlus = this.getMondayPlus();
        GregorianCalendar currentDate = new GregorianCalendar();
        currentDate.add(GregorianCalendar.DATE, mondayPlus+weeks);
        Date monday = currentDate.getTime();
        DateFormat df = DateFormat.getDateInstance();
        String preMonday = df.format(monday);
        return preMonday;
    }

    //           
    public String getPreviousWeekday() {
        weeks--;
        int mondayPlus = this.getMondayPlus();
        GregorianCalendar currentDate = new GregorianCalendar();
        currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks);
        Date monday = currentDate.getTime();
        DateFormat df = DateFormat.getDateInstance();
        String preMonday = df.format(monday);
        return preMonday;
    }

    //           
    public String getNextMonday() {
        weeks++;
        int mondayPlus = this.getMondayPlus();
        GregorianCalendar currentDate = new GregorianCalendar();
        currentDate.add(GregorianCalendar.DATE, mondayPlus + 7);
        Date monday = currentDate.getTime();
        DateFormat df = DateFormat.getDateInstance();
        String preMonday = df.format(monday);
        return preMonday;
    }

    //           
    public String getNextSunday() {
        int mondayPlus = this.getMondayPlus();
        GregorianCalendar currentDate = new GregorianCalendar();
        currentDate.add(GregorianCalendar.DATE, mondayPlus + 7+6);
        Date monday = currentDate.getTime();
        DateFormat df = DateFormat.getDateInstance();
        String preMonday = df.format(monday);
        return preMonday;
    }
    private int getMonthPlus(){
        Calendar cd = Calendar.getInstance();
        int monthOfNumber = cd.get(Calendar.DAY_OF_MONTH);
        cd.set(Calendar.DATE, 1);//           
        cd.roll(Calendar.DATE, -1);//      ,       
        MaxDate=cd.get(Calendar.DATE);
        if(monthOfNumber == 1){
            return -MaxDate;
        }else{
            return 1-monthOfNumber;
        }
    }

    //           
    public String getPreviousMonthEnd(){
        String str = "";
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Calendar lastDate = Calendar.getInstance();
        lastDate.add(Calendar.MONTH,-1);//    
        lastDate.set(Calendar.DATE, 1);//           
        lastDate.roll(Calendar.DATE, -1);//      ,         
        str=sdf.format(lastDate.getTime());
        return str;
    }

    //           
    public String getNextMonthFirst(){
        String str = "";
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Calendar lastDate = Calendar.getInstance();
        lastDate.add(Calendar.MONTH,1);//    
        lastDate.set(Calendar.DATE, 1);//           
        str=sdf.format(lastDate.getTime());
        return str;
    }

    //            
    public String getNextMonthEnd(){
        String str = "";
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Calendar lastDate = Calendar.getInstance();
        lastDate.add(Calendar.MONTH,1);//    
        lastDate.set(Calendar.DATE, 1);//           
        lastDate.roll(Calendar.DATE, -1);//      ,         
        str=sdf.format(lastDate.getTime());
        return str;
    }

    //           
    public String getNextYearEnd(){
        String str = "";
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Calendar lastDate = Calendar.getInstance();
        lastDate.add(Calendar.YEAR,1);//    
        lastDate.set(Calendar.DAY_OF_YEAR, 1);
        lastDate.roll(Calendar.DAY_OF_YEAR, -1);
        str=sdf.format(lastDate.getTime());
        return str;
    }

    //          
    public String getNextYearFirst(){
        String str = "";
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Calendar lastDate = Calendar.getInstance();
        lastDate.add(Calendar.YEAR,1);//    
        lastDate.set(Calendar.DAY_OF_YEAR, 1);
        str=sdf.format(lastDate.getTime());
        return str;
    }

    //        
    private int getMaxYear(){
        Calendar cd = Calendar.getInstance();
        cd.set(Calendar.DAY_OF_YEAR,1);//          
        cd.roll(Calendar.DAY_OF_YEAR,-1);//       。
        int MaxYear = cd.get(Calendar.DAY_OF_YEAR);
        return MaxYear;
    }
    private int getYearPlus(){
        Calendar cd = Calendar.getInstance();
        int yearOfNumber = cd.get(Calendar.DAY_OF_YEAR);//            
        cd.set(Calendar.DAY_OF_YEAR,1);//          
        cd.roll(Calendar.DAY_OF_YEAR,-1);//       。
        int MaxYear = cd.get(Calendar.DAY_OF_YEAR);
        if(yearOfNumber == 1){
            return -MaxYear;
        }else{
            return 1-yearOfNumber;
        }
    }

    //          
    public String getCurrentYearFirst(){
        int yearPlus = this.getYearPlus();
        GregorianCalendar currentDate = new GregorianCalendar();
        currentDate.add(GregorianCalendar.DATE,yearPlus);
        Date yearDay = currentDate.getTime();
        DateFormat df = DateFormat.getDateInstance();
        String preYearDay = df.format(yearDay);
        return preYearDay;
    }

    //            *
    public String getCurrentYearEnd(){
        Date date = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");//           
        String years = dateFormat.format(date);
        return years+"-12-31";
    }

    //           *
    public String getPreviousYearFirst(){
        Date date = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");//           
        String years = dateFormat.format(date); int years_value = Integer.parseInt(years);
        years_value--;
        return years_value+"-1-1";
    }

    //           
    public String getPreviousYearEnd(){
        weeks--;
        int yearPlus = this.getYearPlus();
        GregorianCalendar currentDate = new GregorianCalendar();
        currentDate.add(GregorianCalendar.DATE,yearPlus+MaxYear*weeks+(MaxYear-1));
        Date yearDay = currentDate.getTime();
        DateFormat df = DateFormat.getDateInstance();
        String preYearDay = df.format(yearDay);
        getThisSeasonTime(11);
        return preYearDay;
    }

    //     
    public String getThisSeasonTime(int month){
        int array[][] = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
        int season = 1;
        if(month>=1&&month<=3){
            season = 1;
        }
        if(month>=4&&month<=6){
            season = 2;
        }
        if(month>=7&&month<=9){
            season = 3;
        }
        if(month>=10&&month<=12){
            season = 4;
        }
        int start_month = array[season-1][0];
        int end_month = array[season-1][2];
        Date date = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");//           
        String years = dateFormat.format(date);
        int years_value = Integer.parseInt(years);
        int start_days =1;//years+"-"+String.valueOf(start_month)+"-";//getLastDayOfMonth(years_value,start_month);
        int end_days = getLastDayOfMonth(years_value,end_month);
        String seasonDate = years_value+"-"+start_month+"-"+start_days+";"+years_value+"-"+end_month+"-"+end_days;
        return seasonDate;
    }

    /**
    *            
    * @param year  
    * @param month  
    * @return     
    */
    private int getLastDayOfMonth(int year, int month) {
        if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
            return 31;
        }
        if (month == 4 || month == 6 || month == 9 || month == 11) {
            return 30;
        }
        if (month == 2) {
            if (isLeapYear(year)) {
                return 29;
            } else {
                return 28;
            }
        }
        return 0;
    }

    /**
    *     
    * @param year  
    * @return
    */
    public boolean isLeapYear(int year) {
        return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
    }
}

좋은 웹페이지 즐겨찾기