gpt4 book ai didi

java - 如何从给定的字符串中获取月份和日期?

转载 作者:行者123 更新时间:2023-12-01 22:30:49 24 4
gpt4 key购买 nike

如何从给定的字符串中获取日期和日期。例如:

String date="25-12-2014";

如何从给定的字符串中获取日期和星期?

预期输出是,

 25
Thu

当我尝试这个时,我被卡住了。

  private static String getFormatedDate(String strDate) {
String result = "";
if(strDate != null) {
if (strDate.contains("-")) {
String[] dates = strDate.split("-");
for(int i=0;i<dates.length;i++) {
result = result + Utils.replaceDateFormat(dates[i].trim(),"MMM dd", "EE, M.dd") + ("-");
}
int lastIndex = result.lastIndexOf("-");
result = result.substring(0, lastIndex).trim();
}
else {
result = Utils.replaceDateFormat(strDate.trim(),"MMM dd", "EE, M.dd");
}
}
return result;
}
Utils:

public static String replaceDateFormat(String value, String actualFormat, String exceptedFormat) {
final int currentYear = Calendar.getInstance().get(Calendar.YEAR);
final SimpleDateFormat fromDate = new SimpleDateFormat(actualFormat);
final SimpleDateFormat toDate = new SimpleDateFormat(exceptedFormat);

Date convertedFromDate = null;
try {
convertedFromDate = fromDate.parse(value);
} catch (java.text.ParseException e) {
e.printStackTrace();
}

final Calendar c1 = Calendar.getInstance();
c1.setTime(convertedFromDate);
c1.set(Calendar.YEAR, currentYear);
return toDate.format(c1.getTime());
}

最佳答案

对于相对简单的任务,您的方法非常复杂。你为什么不使用 SimpleDateFormat ?您可以使用解析方法。例如:

Date date = new SimpleDateFormat("dd-MM-yyyy").parse(string);

然后您可以从那里获取所需的字段。

编辑

要获取星期几,您使用以下代码是正确的:

Date d = date.parse(result); 
Calendar c = Calendar.getInstance();
c.setTime(d);
int day=c.get(Calendar.DAY_OF_WEEK);

然后,如果您希望采用上面的格式,您可以创建一个包含一周中的日子的数组:

String[] daysOfWeek = new String[]{"Sun","Mon"... etc}
String day = daysOfWeek[day - 1];

关于java - 如何从给定的字符串中获取月份和日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27785710/

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