以上就是给各位分享用Java解析日期字符串,其中也会对用java解析日期字符串的方法进行解释,同时本文还将给你拓展Java-把日期字符串转换成另一种格式的日期字符串、Java8LocalDate无法解
以上就是给各位分享用Java解析日期字符串,其中也会对用java解析日期字符串的方法进行解释,同时本文还将给你拓展Java - 把日期字符串转换成另一种格式的日期字符串、Java 8 LocalDate无法解析有效的日期字符串、java – 从FTPClient.getModificationTime()解析日期字符串、java – 在日期 – 时间字符串中解析日期的顺序指示符(st,nd,rd,th)等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- 用Java解析日期字符串(用java解析日期字符串的方法)
- Java - 把日期字符串转换成另一种格式的日期字符串
- Java 8 LocalDate无法解析有效的日期字符串
- java – 从FTPClient.getModificationTime()解析日期字符串
- java – 在日期 – 时间字符串中解析日期的顺序指示符(st,nd,rd,th)
用Java解析日期字符串(用java解析日期字符串的方法)
我的日期格式为“ yyyy-MM-dd’T’HH:mm:ss.sssZ”。例如,日期为“
2018-07-17T09:59:51.312Z”。我正在使用下面的代码来解析Java中的String。
String date="2018-07-17T09:59:51.312Z";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sssZ");
Date transactionDateTime = simpleDateFormat.parse(date);
这给了我“无法解析的日期:”例外。谁能告诉我该怎么做?
Java - 把日期字符串转换成另一种格式的日期字符串
package com.example.demo.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimeTrans {
public static void main(String[] args) {
Date date = new Date();
try {
date = new SimpleDateFormat("HH:mm").parse("13:12:11");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String now = new SimpleDateFormat("HH:mm").format(date);
System.out.println(now);//13:12
}
}
Java 8 LocalDate无法解析有效的日期字符串
Java 8在这里。我有以下代码:
final String createdDateStr = "20110920";
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("YYYYMMdd");
final LocalDate localDate = LocalDate.parse(createdDateStr,formatter);
在运行时,出现以下异常:
java.time.format.DateTimeParseException: Text '20110920' could not be parsed at index 0
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
at java.
…被LocalDate.parse(...)
调用抛出 解析器出了什么问题?
java – 从FTPClient.getModificationTime()解析日期字符串
我试图解析一个日期字符串,这是FTP服务器上文件的修改日期.以下是代码.
String dateString = mFTPClient.getModificationTime(PDF_FILE_NAME_PS);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date modificationDate = dateFormat.parse(dateString.substring(dateString.indexOf(" ")));
Log.v(TAG, "inside downloadservice dateString="+dateString);
Log.v(TAG, "inside downloadservice modificationdate="+modificationDate.toString());
我在日志中得到了这个
05-27 10:04:20.870: V/DownloadService(751): inside downloadservice dateString=213 20130523130035
05-27 10:04:20.890: V/DownloadService(751): inside downloadservice modificationdate=Sat Jul 23 07:30:35 AEDT 203
有人可以帮我这个吗?
解决方法:
String#substring(int index)方法的javadoc说:
子字符串以指定索引处的字符开头,并延伸到此字符串的末尾.
这就是你遇到的问题:你没有正确使用String.substring()方法,因为在调用它时,你会收到另一个String,它包含一个空格作为第一个字符,这就是解析器出错的原因.
这是您需要的修复:
String dateString = mFTPClient.getModificationTime(PDF_FILE_NAME_PS);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date modificationDate =
dateFormat.parse(dateString.substring(dateString.indexOf(" ") + 1));
java – 在日期 – 时间字符串中解析日期的顺序指示符(st,nd,rd,th)
SimpleDateFormat
javadoc,但是我无法找到一种以这样的日期格式解析
ordinal indicator的方法:
Feb 13th 2015 9:00AM
我试过“MMM dd yyyy hh:mma”,但是这些日子必须在数量上是正确的吗?
可以使用SimpleDateFormat解析“第13”日期,而不必截断字符串?
解决方法
Date date = new SimpleDateFormat("MMM dd yyyy hh:mma") .parse(str.replaceAll("(?<=\\d)(st|nd|rd|th)",""));
替换正则表达式非常简单,因为这些序列将不会出现在有效日期的其他位置.
处理任何以任何语言附加任意长度的序号指示符作为后缀的语言:
Date date = new SimpleDateFormat("MMM dd yyyy hh:mma") .parse(str.replaceAll("(?<=\\d)(?=\\D* \\d+ )\\p{L}+",""));
一些语言,例如普通话,预先填写他们的顺序指标,但也可以使用交替方式处理 – 作为读者的练习留下来:)
关于用Java解析日期字符串和用java解析日期字符串的方法的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于Java - 把日期字符串转换成另一种格式的日期字符串、Java 8 LocalDate无法解析有效的日期字符串、java – 从FTPClient.getModificationTime()解析日期字符串、java – 在日期 – 时间字符串中解析日期的顺序指示符(st,nd,rd,th)的相关信息,请在本站寻找。
本文标签: