Java获取当前时间,时间戳转换为时间格式

本文深入探讨了Java中日期时间的两种常用处理方式:SimpleDateFormat和Calendar,通过实例演示如何格式化日期时间字符串以及如何使用Calendar进行时间的单独修改和获取。

1.

SimpleDateFormat tempDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String datetime = tempDate.format(new java.util.Date());
//也可以用这个
// String datetime = tempDate.format(new Date(System.currentTimeMillis()));     


2. 使用Calendar

Calendar   c   =   Calendar.getInstance();//可以用set()对每个时间域单独修改  
  int   year   =   c.get(Calendar.YEAR);  
//一般month都需要+1才表示当前月份
  int   month   =   c.get(Calendar.MONTH);  
  int   date   =   c.get(Calendar.DATE);  
  int   hour   =   c.get(Calendar.HOUR_OF_DAY);  
  int   minute   =   c.get(Calendar.MINUTE);  
  int   second   =   c.get(Calendar.SECOND);  
  String nowTime = year + "/" + month + "/" + date + "   " +hour + ":" + minute + ":" + second; 


 

### 获取 Java 当前时间时间戳Java 中,可以通过多种方法获取当前时间时间戳。最常见的方式之一是利用 `System.currentTimeMillis()` 方法返回自 1970 年 1 月 1 日午夜(UTC 时间)以来的毫秒数[^1]。此方法简单高效,适用于大多数场景。 另一种方式是通过 `java.sql.Timestamp` 类创建一个基于当前时间的对象,并将其转换为字符串或其他形式输出[^1]。这种方式不仅提供了更高的精度(到纳秒级别),还便于与数据库交互时使用。 下面展示两种常用的方法来获取当前时间时间戳: #### 方法一:使用 `System.currentTimeMillis()` 这是最基本的实现方式,适合只需要毫秒级精确度的应用程序。 ```java long currentTimeMillis = System.currentTimeMillis(); System.out.println("Current Timestamp (in milliseconds): " + currentTimeMillis); ``` #### 方法二:使用 `Timestamp` 类 如果需要更复杂的日期处理或者更高精度的时间记录,则可以选择这种方法。 ```java import java.sql.Timestamp; public class Main { public static void main(String[] args) { Timestamp timestamp = new Timestamp(System.currentTimeMillis()); System.out.println("Current Timestamp: " + timestamp); } } ``` 此外,在某些特定情况下可能还需要将常规时间格式转化为 Unix 时间戳。这可通过解析指定格式的日期串完成,例如: ```java import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) throws Exception { String dateStr = "01/01/1970 01:00:00"; SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date parsedDate = sdf.parse(dateStr); long epochTime = parsedDate.getTime(); // 返回的是毫秒单位 System.out.println("Unix Timestamp: " + epochTime / 1000L); // 转换为秒单位 } } ``` 以上代码片段展示了如何手动计算给定时间对应的 Unix 时间戳[^2]。 值得注意的是,当涉及到并发控制机制如乐观锁的设计时,也可以考虑采用时间戳作为版本标记的一部分解决方案[^3]。不过对于单纯请求当前时刻数值的任务来说,前面提到的技术已经足够满足需求了。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值