日期字符串和时间戳相互转换Java代码

最近在做毕业设计的时候,遇到一个需求,拿到一些时间格式,类似于"2012-12-01 12:02:00" 这样的时间格式,然后让程序以这些时间为起点,生成类似于"2012-12-01 12:02:01","2012-12-01 12:02:02","2012-12-01 12:02:03"。。。。。后面一个时间是前面一个时间累加1s的结果。

思路:需要把"2012-12-01 12:02:00" 这样的日期生成生成时间戳,让时间戳累加1s,再把时间戳转换成这样的日期格式。

现在的问题就到了如何 将类似于"2012-12-01 12:02:00" 日期字符串转换成时间戳,以及时间戳如何转变回日期字符串。话不多说,代码如下:

public class Test{
public void test() {
	String stime = "2012-12-01 12:02:00";
	String timeStamp2 = date2TimeStamp(stime, "yyyy-MM-dd HH:mm:ss");
	System.out.println(timeStamp2);
	int times = Integer.parseInt(timeStamp2)+1;
	String date = timeStamp2Date(String.valueOf(times), "yyyy-MM-dd HH:mm:ss");  
	System.out.println(date);
}


public static String date2TimeStamp(String date_str,String format){  
    try {  
        SimpleDateFormat sdf = new SimpleDateFormat(format);  
        return String.valueOf(sdf.parse(date_str).getTime()/1000);  
    } catch (Exception e) {  
        e.printStackTrace();  
    }  
    return "";  
}


public static String timeStamp2Date(String seconds,String format) {  
    if(seconds == null || seconds.isEmpty() || seconds.equals("null")){  
        return "";  
    }  
    if(format == null || format.isEmpty()) format = "yyyy-MM-dd HH:mm:ss";  
    SimpleDateFormat sdf = new SimpleDateFormat(format);  
    return sdf.format(new Date(Long.valueOf(seconds+"000")));  
}  


public static void main(String[] args) {
        Test test1 = new Test();
	test1 .test();
}
}

### 将Java中的日期字符串转换时间戳(毫秒) 在 Java 中,可以利用 `SimpleDateFormat` 类来解析给定的日期字符串并将其转换成 `Date` 对象。之后通过调用该对象上的 `getTime()` 方法获取对应的时间戳毫秒值。 下面是一个具体的实现方法: ```java import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) throws ParseException { // 定义输入的日期格式以及具体日期字符串 String inputPattern = "yyyy-MM-dd HH:mm:ss.SSS"; String dateTimeStr = "2023-10-05 14:30:00.789"; // 创建 SimpleDateFormat 实例用于解析上述定义好的模式 SimpleDateFormat sdf = new SimpleDateFormat(inputPattern); // 解析传入的日期字符串得到 Date 对象 Date parsedDate = sdf.parse(dateTimeStr); // 调用 getTime() 获取自纪元以来到指定时刻所经历过的毫秒数 long timestampMillis = parsedDate.getTime(); System.out.println("对应的毫秒级时间戳:" + timestampMillis); } } ``` 此代码片段展示了如何将形如 `"2023-10-05 14:30:00.789"` 的日期字符串按照预设格式解析,并最终获得其代表的时间戳毫秒数值[^1][^3]。 需要注意的是,在实际应用过程中应当确保所提供的日期字符串严格遵循设定的格式模板;否则可能会抛出异常导致程序崩溃。此外,对于不同的区域设置地区差异也应适当调整日期格式化器(`SimpleDateFormat`)内的参数配置以适应不同环境下的需求[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值