一、常用的时间格式
在Java中,使用SimpleDateFormat类可以将日期和时间按照某种指定的格式输出。下面列举了几种常用的时间格式:
yyyy-MM-dd HH:mm:ss yyyy年MM月dd日 HH:mm:ss yy年M月d日 HH:mm:ss
其中,y代表年份,M代表月份,d代表天数,H代表小时数,m代表分钟数,s代表秒数。在格式中可以加入各种连接符,如-、/、年月日中文符号等,根据需求自行添加。
补充说明:
- y和M的大小写有区分,大写的表示两位,如yyyy表示四位数字表示年份,小写的表示一位,如y表示四位数字表示年份。
- 在yyyy、yy、M、MM、d、dd、h、hh、H、HH、m、mm、s、ss等格式符号前可以添加其他字符来表示日期分隔符、时间分隔符,或者中文等。
- 小写的h表示12小时制,大写的H表示24小时制,hh表示两位的12小时制,并在1-9之间的数字前面添加0,如02表示早上2点。HH表示两位的24小时制,如23表示晚上11点。
- 日期和时间之间的分隔符可以自定义,不一定是空格,可以是其他字符,如-、/、:等。
二、时间格式化示例
下面通过代码实例来演示如何使用SimpleDateFormat类来进行时间格式化。
import java.text.SimpleDateFormat; import java.util.Date; public class TimeFormatDemo { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String formattedDate = sdf.format(date); System.out.println(formattedDate); } }
输出:
2022年05月10日 15:28:27
在代码中,首先使用了Date类生成当前时间,然后创建了一个SimpleDateFormat对象并指定了时间格式,最后使用format方法将时间格式化。
三、时间戳转时间格式
时间戳指的是1970年1月1日00:00:00至今的毫秒数。Java中可以使用DateFormat类的parse方法将时间戳转换为指定格式的时间。下面是一个示例代码:
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class TimeStampDemo { public static void main(String[] args) { try { String timeStamp = "1620670200000"; long time = Long.parseLong(timeStamp); Date date = new Date(time); DateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String formattedDate = sdf.format(date); System.out.println(formattedDate); } catch (NumberFormatException e) { e.printStackTrace(); } } }
输出:
2021年05月11日 17:43:20
在代码中,首先将时间戳字符串转换为long类型,然后使用Date类将long类型的时间戳转换为Date类型的时间,最后使用SimpleDateFormat对时间进行格式化输出。
四、时间格式转时间戳
Java中可以使用DateFormat类的parse方法将指定格式的时间转换为时间戳。下面是一个示例代码:
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatDemo { public static void main(String[] args) { try{ String strDate = "2021年05月11日 17:43:20"; DateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); Date date = sdf.parse(strDate); long timeStamp = date.getTime(); System.out.println(timeStamp); } catch (Exception e) { e.printStackTrace(); } } }
输出:
1620670200000
在代码中,首先指定时间格式,使用parse方法将指定格式的时间字符串解析为Date对象,然后使用getTime方法将Date对象的时间转换为时间戳。
五、总结
Java中对时间进行格式化和转换的方法有很多种,本文介绍了比较常见的几个方法,并通过示例代码演示了使用方法。在实际开发中,根据具体需求选择合适的方法,并且注意时间字符串的格式与指定格式是否一致。