时间转换在编程中是一个非常常见的需求,Java作为一门流行的编程语言,在时间转换方面也提供了许多强大的API和工具。本文将介绍如何在Java中进行时间转换,让您轻松应对这个问题。
一、Java中的时间类
在Java中,时间类主要有以下三个:
Date:表示特定的瞬时,精确到毫秒Calendar:可以进行各种与日期和时间相关的计算,比如年、月、日和时、分、秒SimpleDateFormat:可以将Date格式化为指定的字符串,也可以将字符串解析为Date
二、时间格式化
对于时间格式化,可以使用SimpleDateFormat类。其将Date格式化为字符串,或将字符串解析为Date。下面是一个例子:
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeConversion {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(date);
System.out.println(strDate);
}
}
输出结果为:2020-07-08 17:42:25
注:上面的代码中,yyyy-MM-dd HH:mm:ss中的字符表示时间的不同部分,例如:yyyy表示4位数字的年份,MM表示2位数字的月份,以此类推。这里介绍一下格式化字符:
| 字符 | 说明 |
| y | 年份 |
| M | 月份 |
| d | 日期 |
| H | 小时(24小时制) |
| h | 小时(12小时制) |
| m | 分钟 |
| s | 秒 |
| S | 毫秒 |
例如,yyyy-MM-dd HH:mm:ss.SSS表示年月日时分秒毫秒,yyyy-MM-dd表示年月日,HH:mm:ss表示时分秒。
三、字符串转换为日期
如果要将字符串转换为日期,也可以使用SimpleDateFormat。下面是一个例子:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeConversion {
public static void main(String[] args) throws ParseException {
String strDate = "2020-07-08 17:42:25";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(strDate);
System.out.println(date);
}
}
输出结果为:Wed Jul 08 17:42:25 CST 2020
四、日期转换为时间戳
Unix时间戳是指从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。Java中可以通过Date类的getTime()方法获取时间戳,例如:
import java.util.Date;
public class TimeConversion {
public static void main(String[] args) {
Date date = new Date();
long timestamp = date.getTime() / 1000; // 将毫秒转换为秒
System.out.println(timestamp);
}
}
输出结果为:1594211884
五、时间戳转换为日期
Unix时间戳可以通过java.util.Date类的构造函数来转换为日期。下面是一个例子:
import java.util.Date;
public class TimeConversion {
public static void main(String[] args) {
long timestamp = 1594211884;
Date date = new Date(timestamp * 1000);
System.out.println(date);
}
}
输出结果为:Wed Jul 08 17:44:44 CST 2020
六、总结
在本文中,我们介绍了Java中的时间类和如何进行时间格式化、字符串转换为日期、日期转换为时间戳、时间戳转换为日期。希望本文能够对您有所帮助。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/311098.html
微信扫一扫
支付宝扫一扫