gpt4 book ai didi

java - 如何强制将字符串(通过格式化某些日期生成)转换为日期?

转载 作者:行者123 更新时间:2023-12-01 15:35:23 26 4
gpt4 key购买 nike

我有一个字符串 (Jan12)(通过对当前日期 {20-jan-2012} 应用一些操作生成)现在我想将此字符串转换回日期格式。该值也应该相同,即新的 Date 对象应该具有值 jan12 而不是 (20-jan-2012) 。请帮忙。我尝试过这样做

 java.sql.Date.valueOf("Jan12") [this throws IllegalArgumentException]

还有

new SimpleDateFormat("MMMyy").parse("Jan12") [By this Date gets converted to 20-jan-2012]

所需输出: 值为 Jan12 的日期对象(12 是年份)我的代码: new java.text.SimpleDateFormat("MMMyy").format(new java.text.SimpleDateFormat("yyyy-MM-dd").parse(s))//这是一个给出 Jan12 的字符串

现在我真的想将 Mycode 转换为 Date 对象

    Date now = new Date();                       
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String s1 = df.format(now);
System.out.println(s1); // 2012-01-20
java.sql.Date d111=java.sql.Date.valueOf(s1);
System.out.println(d111); // 2012-01-20
DateFormat df1 = new SimpleDateFormat("MMMyy");
String s2 = df1.format(d111);
System.out.println(s2); //Jan12
Now i want s2 to be converted in Date object

最佳答案

@Aditya,

如果您使用给出“Jan12”的 Str2,则该字符串中没有日期部分,因此如果您将其转换为日期对象,它将获得“Jan”作为月份,12 作为年份,但它找不到“该字符串中的“day”。

如果您使用下面的代码

 try
{
Date d2 = df1.parse(s2); //here s2 is your string which gives "JAN12"
System.out.println(d2);
}
catch(ParseException pe)
{
System.out.println("parse exception..");
}

上述代码的输出将是:

Sun Jan 01 00:00:00 IST 2012

请注意,日期部分已重置为该月的第一天

因此,不可能获得完整的日期对象,因为您的原始日期,月份和年份被保留,但日期部分丢失了。

关于java - 如何强制将字符串(通过格式化某些日期生成)转换为日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8939435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com