時間戳(timestamp)是指計算機中以一定時間間隔存儲再計算機上的時間數值,通常是從某個固定的日期或時間開始經過了多次增量累加而得到的一個數值,以秒或毫秒為單位。
在Java中,我們可以通過使用Date類將時間戳轉換為日期字符串,或者將日期字符串轉換為時間戳。
一、時間戳轉換為日期字符串
/** * 時間戳轉換為日期字符串 * @param timestamp 時間戳,單位毫秒 * @param format 日期字符串的格式,例如 "yyyy-MM-dd HH:mm:ss" * @return 日期字符串 */ public static String timestampToDate(long timestamp, String format) { SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(new Date(timestamp)); }
上述代碼中,我們定義了一個靜態方法timestampToDate,該方法接收兩個參數:時間戳和日期字符串格式,並返回相應格式的日期字符串。
我們可以使用以下方式調用該方法:
long timestamp = System.currentTimeMillis(); String dateStr = timestampToDate(timestamp, "yyyy-MM-dd HH:mm:ss"); System.out.println(dateStr); // 輸出當前日期字符串,例如:2021-01-01 12:00:00
上述代碼中,我們首先獲取當前時間戳,然後將其轉換為日期字符串並輸出。
二、日期字符串轉換為時間戳
/** * 日期字符串轉換為時間戳 * @param dateStr 日期字符串,例如 "2021-01-01 12:00:00" * @param format 日期字符串的格式,例如 "yyyy-MM-dd HH:mm:ss" * @return 時間戳,單位毫秒 */ public static long dateToTimestamp(String dateStr, String format) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat(format); Date date = sdf.parse(dateStr); return date.getTime(); }
上述代碼中,我們定義了一個靜態方法dateToTimestamp,該方法接收兩個參數:日期字符串和日期字符串格式,並返回相應格式的時間戳。
我們可以使用以下方式調用該方法:
String dateStr = "2021-01-01 12:00:00"; long timestamp = dateToTimestamp(dateStr, "yyyy-MM-dd HH:mm:ss"); System.out.println(timestamp); // 輸出當前時間戳,例如:1609464000000
上述代碼中,我們首先定義一個日期字符串,然後將其轉換為時間戳並輸出。
三、實際應用場景
時間戳轉換為日期字符串和日期字符串轉換為時間戳在實際應用中非常常見。例如,在開發Web應用中,我們經常需要將前端傳遞過來的日期字符串轉換為時間戳,並存儲到數據庫中。又或者在顯示數據時,我們需要將從數據庫中獲取的時間戳轉換為日期字符串,方便用戶閱讀。
下面以Spring Boot為例,演示如何將前端傳遞過來的日期字符串(示例為”2021-01-01″)轉換為時間戳,並存儲到數據庫中:
@RestController public class DemoController { @Autowired private DemoService demoService; @PostMapping("/demo") public void save(@RequestBody DemoDto demoDto) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(demoDto.getDateStr()); long timestamp = date.getTime(); Demo demo = new Demo(); demo.setId(demoDto.getId()); demo.setName(demoDto.getName()); demo.setTimestamp(timestamp); demoService.save(demo); } } @Data @NoArgsConstructor @AllArgsConstructor public class DemoDto { private Long id; private String name; private String dateStr; }
上述代碼中,我們定義了一個RestController,該RestController接收一個DemoDto對象,並將其轉換為Demo對象並存儲到數據庫中。在轉換過程中,我們通過SimpleDateFormat將日期字符串轉換為Date對象,並調用getTime方法獲取時間戳。
在這裡我們只演示了日期字符串轉換為時間戳的過程,實際應用中也可以通過類似的方式將時間戳轉換為日期字符串。
四、總結
在Java中,我們可以通過使用Date類將時間戳轉換為日期字符串,或者將日期字符串轉換為時間戳。這兩個操作在實際應用中非常常見,例如在Web應用中,我們經常需要將前端傳遞過來的日期字符串轉換為時間戳,並存儲到數據庫中。通過本文的示例,讀者可以輕鬆掌握這兩種轉換方式的使用方法。
原創文章,作者:CYRY,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/140307.html