引言
在程序開發中我們常常會遇到時間戳這種數據類型,時間戳是指格林威治時間1970年01月01日00時00分00秒到現在時間的總秒數。而由於時間戳格式不易於閱讀,因此將時間戳轉換為人們易於閱讀的日期和時間格式非常必要。本篇文章將介紹多種語言如何將時間戳轉換為人們易於閱讀的日期和時間格式。
正文
一、時間戳轉為時間格式
首先,我們需要定義一個時間戳,如下所示:
long timeStamp = 1574738800000L;
注意:時間戳的數據類型一般為long型,在Java中需要在數字後面加L來表示。
然後我們可以使用Java中的SimpleDateFormat類將時間戳轉換為時間格式:
import java.text.SimpleDateFormat; import java.util.Date; public class TimeStampDemo { public static void main(String[] args) { long timeStamp = 1574738800000L; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format = simpleDateFormat.format(new Date(timeStamp)); System.out.println(format); } }
輸出結果為:
2019-11-26 08:20:00
這樣我們就將時間戳成功地轉換成了易於閱讀的時間格式。
二、SQL將時間戳轉為時間
在MySQL資料庫中,我們可以使用FROM_UNIXTIME函數將時間戳轉換為時間格式。FROM_UNIXTIME函數原型為:
FROM_UNIXTIME(unix_timestamp); FROM_UNIXTIME(unix_timestamp,format);
其中,unix_timestamp為一個數字,表示要轉換為時間格式的時間戳。
format為可選參數,表示轉換後的時間格式,默認為”%Y-%m-%d %H:%i:%s”。常用的時間格式如下:
標籤 | 意義 |
---|---|
%Y | 年份,四位數 |
%m | 月份,兩位數 |
%d | 日期,兩位數 |
%H | 小時,兩位數 |
%i | 分鐘,兩位數 |
%s | 秒數,兩位數 |
示例:
SELECT FROM_UNIXTIME(1574738800,'%Y-%m-%d %H:%i:%s');
輸出結果為:
2019-11-26 08:20:00
三、JS將時間戳轉為日期
在JavaScript中,我們可以使用Date對象的構造函數將時間戳轉換為日期格式:
var timeStamp = 1574738800000; var date = new Date(timeStamp); console.log(date);
輸出結果為:
Tue Nov 26 2019 08:20:00 GMT+0800 (中國標準時間)
需要注意的是,在JS中的時間戳一般是精確到毫秒級別的,因此需要將時間戳除以1000來得到以秒為單位的時間戳。同時,JS中也提供了一些函數來將日期格式轉換為字元串格式,如下所示:
var timeStamp = 1574738800000; var date = new Date(timeStamp); console.log(date.toLocaleString()); // 2019/11/26 下午8:20:00 console.log(date.toDateString()); // Tue Nov 26 2019 console.log(date.toTimeString()); // 20:20:00 GMT+0800 (中國標準時間)
四、10位時間戳轉為時間
與13位時間戳不同,10位時間戳只表示精確到秒的時間,因此需要特別處理。以Java為例,我們可以將精確到秒的時間戳擴大1000倍之後再進行轉換,如下所示:
long timeStamp = 1574738800; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format = simpleDateFormat.format(new Date(timeStamp * 1000)); System.out.println(format);
輸出結果為:
2019-11-26 08:20:00
五、C#時間轉為時間戳
在C#中,我們可以使用DateTime對象的ToUnixTimeSeconds方法將時間轉換為時間戳:
DateTime dateTime = new DateTime(2019, 11, 26, 8, 20, 0); long timeStamp = (long)(dateTime.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; Console.WriteLine(timeStamp);
輸出結果為:
1574738800
六、時間戳轉為天數
將時間戳轉為天數非常簡單,只需要將時間戳除以24小時(即86400秒)即可:
long timeStamp = 1574738800000L; int days = (int) (timeStamp / 86400000); System.out.println(days);
輸出結果為:
18248
七、時間戳轉為秒JS
在JS中,將時間戳轉換為秒數只需要將時間戳除以1000即可:
var timeStamp = 1574738800000; var seconds = Math.round(timeStamp / 1000); console.log(seconds);
輸出結果為:
1574738800
八、MySQL將時間轉為時間戳
與將時間戳轉為時間類似,在MySQL中我們也可以使用UNIX_TIMESTAMP函數將時間轉換為時間戳。UNIX_TIMESTAMP函數原型為:
UNIX_TIMESTAMP(); UNIX_TIMESTAMP(date);
其中,date為可選參數,表示要轉換為時間戳的日期。如果不傳遞參數,則默認為當前時間。
示例:
SELECT UNIX_TIMESTAMP('2019-11-26 08:20:00');
輸出結果為:
1574738800
結語
本篇文章介紹了多種語言如何將時間戳轉換為人們易於閱讀的日期和時間格式。無論是Java、SQL、JS、C#還是MySQL,都提供了很方便的時間格式轉換函數,開發者們可以根據自己的需求進行選擇。最後,希望本篇文章對大家能夠有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/256972.html