21xrx.com
2024-12-23 04:01:07 Monday
登录
文章检索 我的文章 写文章
Java中如何将字符串转化为时间戳
2023-06-16 16:57:13 深夜i     --     --
Java 字符串 时间戳

对于开发者而言,在Java开发中如何将字符串的时间格式转化为时间戳是一项基本技能,需要处理不同格式的时间字符串,以满足不同的日期需求。在Java中可以使用SimpleDateFormat类通过传入时间格式字符串来构造一个时间对象,然后通过time()方法转化为时间戳。下面我们来具体介绍如何实现这个操作。

1. 使用SimpleDateFormat类

在java中字符串转时间戳的常用类是SimpleDateFormat,该类的作用是用来转换日期时间格式的字符串。它的使用方法有以下几步:

- 创建SimpleDateFormat对象;

- 设置时间格式;

- 将时间字符串转换为Date对象;

- 调用Date类中的getTime()方法获得时间戳。

这里给出一个示例代码,假设字符串时间格式为"yyyy-MM-dd HH:mm:ss":


import java.text.SimpleDateFormat;

import java.util.Date;

public class StringToTimestamp {

  public static void main(String[] args) {

    String str = "2021-10-01 12:00:00";

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    try {

      Date date = simpleDateFormat.parse(str);

      long timestamp = date.getTime();

      System.out.println("timestamp: " + timestamp);

    } catch (Exception e) {

      e.printStackTrace();

    }

  }

}

2. 使用DateTimeFormatter类

除了SimpleDateFormat外,在Java8及以上版本中通过使用新的日期时间类DateTimeFormatter,也可以将日期时间格式的字符串转换为时间戳。具体操作步骤如下:

- 创建DateTimeFormatter对象;

- 将时间字符串转换为LocalDateTime对象;

- 调用toInstant()方法转换为Instant对象;

- 调用getEpochSecond()方法获取时间戳。

这里给出一个示例代码,假设字符串时间格式为"yyyy-MM-dd HH:mm:ss":


import java.time.Instant;

import java.time.LocalDateTime;

import java.time.ZoneId;

import java.time.format.DateTimeFormatter;

public class StringToTimestamp {

  public static void main(String[] args) {

    String str = "2021-10-01 12:00:00";

    DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    LocalDateTime localDateTime = LocalDateTime.parse(str, dateTimeFormatter);

    Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();

    long timestamp = instant.getEpochSecond();

    System.out.println("timestamp: " + timestamp);

  }

}

3. 关键词

Java、字符串、时间戳

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复