JAVA 计算年月日时分秒毫秒

本文介绍了一种计算两个时间点之间年月日时分秒毫秒差异的方法,并提供了获取当前时间的具体格式(年-月-日 时:分:秒.毫秒)的实用函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**计算年月日时分秒毫秒**/
public static String Millisecond(String begins,String ends,String appointmentNo,String message)
{
   try {
SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
long between = 0;
try {
   Date begin = dfs.parse(begins);
   Date end = dfs.parse(ends);
   between = (end.getTime() - begin.getTime());// 得到两者的毫秒数
} catch (Exception e) {

}
long day = between / (24 * 60 * 60 * 1000);
long hour = (between / (60 * 60 * 1000) - day * 24);
long min = ((between / (60 * 1000)) - day * 24 * 60 - hour * 60);
long s = (between / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
long ms = (between - day * 24 * 60 * 60 * 1000 - hour * 60 * 60 * 1000- min * 60 * 1000 - s * 1000);

StringBuilder sbf = new StringBuilder();
sbf.append("预约单号:"+appointmentNo+" ");
sbf.append(message);
sbf.append(":");
sbf.append(day);
sbf.append("天");
sbf.append(hour);
sbf.append("小时");
sbf.append(min);
sbf.append("分");
sbf.append(s);
sbf.append("秒");
sbf.append(ms);
sbf.append("毫秒");
return sbf.toString();
} catch (Exception e) {

}
   
   return "";
}
/**获取当前时间 年月日时分秒毫秒**/
public static String currentDate()
{
String result="";
try {
SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date data = new Date();
result = dfs.format(data);
} catch (Exception e) 
{

}
return result;
}
### Java 年月日时分秒毫秒处理方法或类 在 Java 中,处理年月日时分秒毫秒的任务可以通过多种方法和类实现。以下是几种常用的解决方案: #### 1. 使用 `SimpleDateFormat` 类 `SimpleDateFormat` 是一个常用的类,用于格式化和解析日期。它可以将日期对象转换为字符串,并支持自定义的日期格式[^1]。 ```java import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatExample { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); System.out.println(sdf.format(date)); // 输出:2023-03-01 14:56:32.123 } } ``` #### 2. 使用 `Calendar` 类 `Calendar` 类提供了对日期和时间进行操作的功能。通过 `Calendar` 的实例,可以轻松获取当前的年、月、日、时、分、秒和毫秒。 ```java import java.util.Calendar; public class CalendarExample { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; // 注意:月份从0开始 int day = calendar.get(Calendar.DAY_OF_MONTH); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); int millisecond = calendar.get(Calendar.MILLISECOND); System.out.println(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second + "." + millisecond); } } ``` #### 3. 使用 `LocalDateTime` 和 `DateTimeFormatter`(Java 8 及以上) 从 Java 8 开始,`java.time` 包引入了新的日期和时间 API,推荐使用 `LocalDateTime` 和 `DateTimeFormatter` 来处理日期和时间[^3]。 ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class LocalDateTimeExample { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); String formattedDate = now.format(formatter); System.out.println(formattedDate); // 输出:2023-03-01 14:56:32.123 } } ``` #### 4. 使用 `java.sql.Timestamp` `Timestamp` 类继承自 `java.util.Date`,专门用于处理包含毫秒的时间戳。它通常用于数据库操作中[^2]。 ```java import java.sql.Timestamp; public class TimestampExample { public static void main(String[] args) { Timestamp timestamp = new Timestamp(System.currentTimeMillis()); System.out.println(timestamp); // 输出:2023-03-01 14:56:32.123 } } ``` #### 总结 上述方法中,`SimpleDateFormat` 和 `Calendar` 是较早版本的解决方案,而 `LocalDateTime` 和 `DateTimeFormatter` 是 Java 8 推荐的现代解决方案。如果需要与数据库交互,`Timestamp` 是一个不错的选择。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值