java Data、String、Long三种日期类型之间的相互转换

本文介绍如何在Java中实现Date、String、Long三种日期类型之间的相互转换。提供了具体的方法实现,如将Date转换为String、Long类型转换为String、String转换为Date等。

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

java Data、String、Long三种日期类型之间的相互转换
    // date类型转换为String类型
  // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒
  // data Date类型的时间
  public static String dateToString(Date data, String formatType) {
  return new SimpleDateFormat(formatType).format(data);
  }
 
  // long类型转换为String类型
  // currentTime要转换的long类型的时间
  // formatType要转换的string类型的时间格式
  public static String longToString(long currentTime, String formatType)
  throws ParseException {
  Date date = longToDate(currentTime, formatType); // long类型转成Date类型
  String strTime = dateToString(date, formatType); // date类型转成String
  return strTime;
  }
 
  // string类型转换为date类型
  // strTime要转换的string类型的时间,formatType要转换的格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日
  // HH时mm分ss秒,
  // strTime的时间格式必须要与formatType的时间格式相同
  public static Date stringToDate(String strTime, String formatType)
  throws ParseException {
  SimpleDateFormat formatter = new SimpleDateFormat(formatType);
  Date date = null;
  date = formatter.parse(strTime);
  return date;
  }
 
  // long转换为Date类型
  // currentTime要转换的long类型的时间
  // formatType要转换的时间格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒
  public static Date longToDate(long currentTime, String formatType)
  throws ParseException {
  Date dateOld = new Date(currentTime); // 根据long类型的毫秒数生命一个date类型的时间
  String sDateTime = dateToString(dateOld, formatType); // 把date类型的时间转换为string
  Date date = stringToDate(sDateTime, formatType); // 把String类型转换为Date类型
  return date;
  }
 
  // string类型转换为long类型
  // strTime要转换的String类型的时间
  // formatType时间格式
  // strTime的时间格式和formatType的时间格式必须相同
  public static long stringToLong(String strTime, String formatType)
  throws ParseException {
  Date date = stringToDate(strTime, formatType); // String类型转成date类型
  if (date == null) {
  return 0;
  } else {
  long currentTime = dateToLong(date); // date类型转成long类型
  return currentTime;
  }
  }
 
  // date类型转换为long类型
  // date要转换的date类型的时间
  public static long dateToLong(Date date) {
  return date.getTime();
  }
### Java 中 `long` 类型转换为字符串并进行序列化的示例 为了将 `long` 类型的数据转换成字符串形式并通过序列化保存,可以先将其为字符串再封装到可序列化的类中。下面是一个完整的例子展示这一过程。 ```java import java.io.*; public class LongToStringSerializationExample { private static final long TEST_LONG_VALUE = 1234567890L; public static void main(String[] args) throws IOException, ClassNotFoundException { // 创建一个包含Long类型的对象,并将其转换为字符串 DataContainer container = new DataContainer(); container.setStrValue(Long.toString(TEST_LONG_VALUE)); // 将对象序列化至文件 try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("data.ser"))) { oos.writeObject(container); } System.out.println("对象已成功序列化"); // 反序列化操作读取数据 DataContainer deserializedContainer; try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("data.ser"))) { deserializedContainer = (DataContainer) ois.readObject(); } // 输出反序列化后的值 System.out.println("反序列化后的内容:" + deserializedContainer.getStrValue()); } // 定义一个实现了Serializable接口的容器类用来存储要被序列化的数据 public static class DataContainer implements Serializable { private static final long serialVersionUID = 1L; private String strValue; public String getStrValue() { return this.strValue; } public void setStrValue(final String value) { this.strValue = value; } } } ``` 此代码片段展示了如何创建一个名为 `DataContainer` 的辅助类来持有待序列化的字符串表示的数值[^2]。该类实现了 `Serializable` 接口以支持其自身的序列化功能。接着,在主函数里,首先把原始的 `long` 值通过静态方法 `Long.toString()` 方法变为字符串格式;之后利用 `ObjectOutputStream` 对象执行实际的序列化工作,最终将结果存入磁盘上的文件 `"data.ser"` 中。对于反向的操作,则采用相应的输入流完成从二进制文件恢复原来状态的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值