繁体   English   中英

我需要一个代码,该代码应使用Java从Excel获取YYYY-MM-DD格式的日期

[英]I need a code which should get Date from Excel as YYYY-MM-DD format using java

我需要一个应从Excel获取Date为YYYY-MM-DD

它显示的日期为2050年12月31日,该日期最初以2050-12-31格式保存在工作表中。

System.out.println("<" + sheet.getRow(i).getCell(24) + ">");

应该从Excel获得Date为YYYY-MM-DD

tl; dr

LocalDate.parse( 
    "31-Dec-2050" , 
    DateTimeFormatter.ofPattern( "dd-MMM-uuuu" , Locale.US )
)
.toString()

java.time

您的问题尚不清楚,因为您没有解释可能使用的库来读取Excel文件,也没有解释sheet.getRow(i).getCell(24)在做什么。 因此,我只能解决如何解析日期字符串的问题,而不能给出可能更好,更深入的答案。

如果为您提供字符串31-Dec-2050 ,则可以将其解析为Java中的LocalDate LocalDate类表示仅包含日期的值,没有日期, 时间段offset-from-UTC

定义格式模式以匹配您的文本输入。

通过Locale确定:

  • 用于翻译日名,月名等的人工语言
  • 文化规范决定缩写,大写,标点,分隔符等问题。

例如:

String input = "31-Dec-2050" ;
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd-MMM-uuuu" , Locale.US ) ;
LocalDate ld = LocalDate.parse( input , f ) ;

看到此代码在IdeOne.com上实时运行

ld.toString():2050-12-31

进口:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

然后在您的课程中:

String cv = sheet.getRow(i).getCell(24).getStringCellValue();
DateTimeFormatter dt = DateTimeFormatter.ofPattern( "uuuu-MM-dd");
System.out.println("<" + LocalDate.parse(cv).format(dt) + ">");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM