1. 程式人生 > >Java把數字(int或Long型別)轉換成yyyy-MM-dd HH:MM:ss格式的24小時制和12小時制

Java把數字(int或Long型別)轉換成yyyy-MM-dd HH:MM:ss格式的24小時制和12小時制

目錄

原因:

結論:

(1)關於Java的24小時制和12小時制

格式裡的時如果用hh表示用12小時制,HH表示用24小時制。

例如:

yyyy-MM-dd hh:mm:ss 12小時 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //小寫是12小時

yyy-MM-dd HH:MM:ss  24小時 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");//大寫是24小時的

(2)把數字轉成時間

時間轉換,拿到一串數字的時候,可以先到這個網站核對下時間戳是否正確。

在Java裡面,用的是毫秒算的,因此,用Long型別的話,需要先把數字轉換成Long型別再轉成時間。

上程式碼:

1541647462000 :毫秒算,是2018-11-08 11:11:22

1541647462   毫秒算出是   1970-01-19 04:01:07

1秒=1000毫秒

import static org.junit.Assert.*;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.junit.Test;

public class test1108 {

	@Test
	public void test() {
		  Date date = new Date();
		  //格式裡的時如果用hh表示用12小時制,HH表示用24小時制。MM必須是大寫!
		 // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		  date.setTime(Long.parseLong("1541647462000"));//java裡面應該是按毫秒
		  System.out.println(sdf.format(date));
		  
		  date.setTime(1541647462); 
		  System.out.println(sdf.format(date));
	}
}

運算結果:

2018-11-08 11:24:22
1970-01-19 04:14:07

(3)有趣的問題:HH:mm:ss 和  HH:MM:ss

對於yyyy-MM-dd HH:mm:ss 和   yyyy-MM-dd HH:MM:ss

輸出的結果竟然是一樣還不報錯???

原因:

實際時間:2018年11月8日 16:01:51

HH:MM:ss

HH:mm:ss輸出

小編覺得,因為是01  進一位,變成11.但是,並不是!!!

結論:

HH:mm:ss 是正確的輸出,但是HH:MM:ss 則是 分鐘顯示 :11 。無論你是01 02 03 04 08 09分鐘,都是顯示11哦。

(4)日期元素示例

字母    日期或時間元素    表示    示例 G    Era 標誌符    Text    AD y    年    Year    1996 ; 96 M    年中的月份    Month    July ; Jul ; 07 w    年中的週數    Number    27 W    月份中的週數    Number    2 D    年中的天數    Number    189 d    月份中的天數    Number    10 F    月份中的星期    Number    2 E    星期中的天數    Text    Tuesday ; Tue a    Am/pm 標記    Text    PM H    一天中的小時數(0-23)    Number    0 k    一天中的小時數(1-24)    Number    24 K    am/pm 中的小時數(0-11)    Number    0 h    am/pm 中的小時數(1-12)    Number    12 m    小時中的分鐘數    Number    30 s    分鐘中的秒數    Number    55 S    毫秒數    Number    978 z    時區    General time zone    Pacific Standard Time ; PST ; GMT-08:00 Z    時區    RFC 822 time zone    -0800