Java 中時間處理SimpleDateFormat 中HH和hh的區別

以前發現本身開發的測試平臺中,老是在亂髮郵件。明明不該該發的郵件,怎麼又在發。
後來才發現,我本身記錄時間類型的時候,記錄錯了
24小時制要用大寫的HH 好比
SimpleDateFormat dtf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss@SSS");
而我用了小寫的hh的格式~~~

還有時間存入DB中,是直接使用數據庫中的函數,好比在SQl中鎖定函數
mysql中,insert tablename () values (now())
sqlserver中, insert tablename () values (getdate())
仍是本身定義一個時間string類型的參數,好比creationdt,而後給它一個默認的格式,insert tablename() values (creationdt)

若是隻是一個數據庫交互,後期不更改使用的數據庫,用數據庫中的函數也是能夠的,還能夠減小開發和測試的工做量
若是一個產品,既要在mysql上能夠運行,後期客戶說想遷移到sqlserver數據庫,也要能夠執行,那就是要定義一下,否則換數據庫中天然會報錯

import org.junit.Test;
import java.text.SimpleDateFormat;
import java.util.Date;

public class EposReceiveApplicationTests {

@Test
public void TestDate() throws Exception {

Date dt= new Date();
long s=System.currentTimeMillis();
System.out.println(s);
long long1= 1559197504587L;
SimpleDateFormat dtf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat dtf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss@SSS");
SimpleDateFormat dtf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss@SSS");
String sdate =dtf1.format(long1);
System.out.println(sdate);

System.out.println(dtf.format(dt));
System.out.println(dtf1.format(dt));
System.out.println(dtf1.format(dt).toString());
System.out.println(dtf2.format(dt));
System.out.println(dtf2.format(dt).toString());


// Date -> String
Date date = new Date(System.currentTimeMillis());
System.out.println(dtf.format(date));

// String -> Date
String timeString = "2019-05-30 14:25:15";
Date newDate = dtf.parse(timeString);
System.out.println(newDate);

}

}

import org.junit.Test;
import java.text.SimpleDateFormat;
import java.util.Date;

public class EposReceiveApplicationTests {

    @Test
    public void TestDate() throws Exception {

        Date dt= new Date();
        long s=System.currentTimeMillis();
        System.out.println(s);
        long long1= 1559197504587L;
        SimpleDateFormat dtf = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat dtf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss@SSS");
        SimpleDateFormat dtf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss@SSS");
        String sdate =dtf1.format(long1);
        System.out.println(sdate);

        System.out.println(dtf.format(dt));
        System.out.println(dtf1.format(dt));
        System.out.println(dtf1.format(dt).toString());
        System.out.println(dtf2.format(dt));
        System.out.println(dtf2.format(dt).toString());


        // Date -> String
        Date date = new Date(System.currentTimeMillis());
        System.out.println(dtf.format(date));

        // String -> Date
        String timeString = "2019-05-30 14:25:15";
        Date newDate = dtf.parse(timeString);
        System.out.println(newDate);

    }

}
相關文章
相關標籤/搜索