Java 如何解析字符串中的日期并将其设置为新格式
我试图将261107解析为ddmmyy格式的日期Java 如何解析字符串中的日期并将其设置为新格式,java,Java,我试图将261107解析为ddmmyy格式的日期 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class parse { public static void main(String[] args) throws ParseException { // TODO Auto-generated method stub Str
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class parse {
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
String strRawData = "A2611070830151439.5935N 102057.0442E6.68152ID=AMY123";
String strCode = strRawData.substring(0, 1);
String datetemp = strRawData.substring(1, 7);
SimpleDateFormat formatter = new SimpleDateFormat("ddmmyy");
Date datelog = formatter.parse(datetemp);
System.out.println(strCode);
System.out.println(datetemp);
System.out.println(datelog);
}
}
此代码返回:
A
261107
Fri Jan 26 00:11:00 SGT 2007
dd
表示月份中的日期
MM
表示月份(您使用的MM
表示分钟)
yy
表示年份
对您的SimpleDataFormatter
进行一个小小的修改,可以得到:
SimpleDateFormat dt = new SimpleDateFormat("ddMMyy");
这是我的一张备忘单
如果要格式化日期输出,可以使用另一种SimpleDateFormatter
和.format(date)
方法
以下是如何做到这一点的示例:
public static void main(String[] args) throws ParseException {
String strRawData = "261107";
SimpleDateFormat dateParser = new SimpleDateFormat("ddMMyy"); //formatter for parsing date
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy"); //formatter for formatting date output
Date date = dateParser.parse(strRawData);
System.out.println(dateFormatter.format(date));
}
26-11-2007
dd
表示月份中的日期
MM
表示月份(您使用的MM
表示分钟)
yy
表示年份
对您的SimpleDataFormatter
进行一个小小的修改,可以得到:
SimpleDateFormat dt = new SimpleDateFormat("ddMMyy");
这是我的一张备忘单
如果要格式化日期输出,可以使用另一种SimpleDateFormatter
和.format(date)
方法
以下是如何做到这一点的示例:
public static void main(String[] args) throws ParseException {
String strRawData = "261107";
SimpleDateFormat dateParser = new SimpleDateFormat("ddMMyy"); //formatter for parsing date
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy"); //formatter for formatting date output
Date date = dateParser.parse(strRawData);
System.out.println(dateFormatter.format(date));
}
26-11-2007
您的
SimpleDataFormat
中有问题
您必须将资本M使用数月:
SimpleDateFormat formatter = new SimpleDateFormat("ddMMyy");
请参阅Java提供的SimpleDataFormat表:
您的
SimpleDataFormat
中有问题
您必须将资本M使用数月:
SimpleDateFormat formatter = new SimpleDateFormat("ddMMyy");
请参阅Java提供的SimpleDataFormat表:
使用此简化格式:
SimpleDataFormat格式化程序=新的SimpleDataFormat(“ddMMyy”)代码>使用此简化格式:
SimpleDataFormat格式化程序=新的SimpleDataFormat(“ddMMyy”)
您需要使用MM
而不是MM
数月。大写为月;小写为分钟。您需要在数月内使用MM
而不是MM
。大写为月;小写是分钟。提示:mm
是分钟,而不是月份。。。同时读取-解析LocalDate类中的单参数parse(CharSequence)方法使用ISO_LOCAL_日期格式化程序。要指定不同的格式化程序,可以使用双参数parse(CharSequence,DateTimeFormatter)方法。以下示例使用预定义的BASIC_ISO_日期格式化程序,该格式使用1959年7月9日的19590709格式。提示:mm
是分钟,不是月。。。同时读取-解析LocalDate类中的单参数parse(CharSequence)方法使用ISO_LOCAL_日期格式化程序。要指定不同的格式化程序,可以使用双参数parse(CharSequence,DateTimeFormatter)方法。以下示例使用预定义的BASIC_ISO_日期格式化程序,该格式使用1959年7月9日的19590709格式。从谢谢你顺便问一下,我如何才能删除00:00:00中士或它不是removable@FatalError我已经编辑了答案,为你的评论添加了一个解决方案。谢谢你,顺便问一下,我怎样才能删除00:00:00 SGT呢removable@FatalError我对答案进行了编辑,为您的评论添加了解决方案