微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何仅更改日期字符串中的年份?

如何解决如何仅更改日期字符串中的年份?

我有 java 日期字符串。

如何在不更改月份和日期的情况下更改年份。

例如

parts1[1]=   2020-1-2;
parts1[2]=   13:48:21;
CreatedDate = parts1[1]+" "+parts1[2];   
System.out.println(CreatedDate);

我想改成

parts1[1]=   2021-1-2;
parts1[2]=   13:48:21;
CreatedDate = parts1[1]+" "+parts1[2];   
System.out.println(CreatedDate);

我基本上是想在不改变月份和日期的情况下改变年份

可以吗?

解决方法

java.time

您不必拆分字符串然后组合各个部分。您可以将整个字符串解析为 LocalDateTime,然后使用 LocalDateTime#withYear 获取具有指定年份的新实例。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        String creationDateTime = "2020-1-2 13:48:21";
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-M-d H:m:s",Locale.ENGLISH);
        LocalDateTime ldt = LocalDateTime.parse(creationDateTime,dtf);
        System.out.println(ldt);
        ldt = ldt.withYear(2021);

        // Default format
        String updatedDateTime = ldt.toString();
        System.out.println(updatedDateTime);

        // Custom format
        updatedDateTime = ldt.format(dtf);
        System.out.println(updatedDateTime);
    }
}

输出:

2020-01-02T13:48:21
2021-01-02T13:48:21
2021-1-2 13:48:21

Trail: Date Time 了解有关 java.time API 的更多信息。

,

试试:

String[] arrOfStr = parts1[1].split("-",2); 

arrOfStr[0] 包含年份

现在你需要将它解析为一个int(因为它只有4位数字)

int year = Integer.parseInt(arrOfStr[0]);  

year 现在包含数字 2020。

你可以做到

year++;

将其值增加 1

并把它放回字符串格式做:

arrOfStr[0] = "" + year;

arrOfStr[0] = String.valueOf(year);

把它们放在一起做这个

parts1[1]= arrOfStr[0] + "-" arrOfStr[1]; //  2021-1-2

最后应该是这样的:

parts1[1]=   2020-1-2;
parts1[2]=   13:48:21;

String[] arrOfStr = parts1[1].split("-",2); 
int year = Integer.parseInt(arrOfStr[0]);  
year++;
arrOfStr[0] = "" + year;
parts1[1]= arrOfStr[0] + "-" + arrOfStr[1];


CreatedDate = parts1[1]+" "+parts1[2];   
System.out.println(CreatedDate);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。