小编Ven*_*kat的帖子

Java中两个日期之间的天数差异?

我需要找到两个日期之间的天数:一个来自报告,一个是当前日期.我的片段:

  int age=calculateDifference(agingDate, today);
Run Code Online (Sandbox Code Playgroud)

calculateDifference是一个私有方法,agingDate并且todayDate对象,仅供您澄清.我已经关注了Java论坛中的两篇文章,即Thread 1/Thread 2.

它在独立程序中运行良好,但是当我将其包含在我的逻辑中以从报告中读取时,我会得到一个不寻常的值差异.

为什么会发生这种情况?我该如何解决?

编辑:

与实际天数相比,我获得的天数更多.

public static int calculateDifference(Date a, Date b)
{
    int tempDifference = 0;
    int difference = 0;
    Calendar earlier = Calendar.getInstance();
    Calendar later = Calendar.getInstance();

    if (a.compareTo(b) < 0)
    {
        earlier.setTime(a);
        later.setTime(b);
    }
    else
    {
        earlier.setTime(b);
        later.setTime(a);
    }

    while (earlier.get(Calendar.YEAR) != later.get(Calendar.YEAR))
    {
        tempDifference = 365 * (later.get(Calendar.YEAR) - earlier.get(Calendar.YEAR));
        difference += tempDifference;

        earlier.add(Calendar.DAY_OF_YEAR, tempDifference);
    } …
Run Code Online (Sandbox Code Playgroud)

java datediff jodatime

81
推荐指数
7
解决办法
19万
查看次数

如何读取具有Apache POI日期的Excel单元格?

我正在使用Apache POI 3.6,我想阅读一个excel文件,其中包含这样的日期8/23/1991.

 switch (cell.getCellType()) {

   ...
   ...

   case HSSFCell.CELL_TYPE_NUMERIC:
     value = "NUMERIC value=" + cell.getNumericCellValue();
     break;

   ...

 }
Run Code Online (Sandbox Code Playgroud)

但它采用数值类型并返回这样的值33473.0.

我试过使用数字细胞类型虽然没有运气.

dbltemp=row.getCell(c, Row.CREATE_NULL_AS_BLANK).getNumericCellValue();

if (c == 6 || c == 9) {
    strTemp= new String(dbltemp.toString().trim());

    long tempDate = Long.parseLong(strTemp);
    Date date = new Date(tempDate);

    strVal = date.toString();
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决我的问题?

java apache excel apache-poi

57
推荐指数
3
解决办法
12万
查看次数

使用Apache POI删除Excel工作表

我必须从Excel文件中删除一张表.

这是我的代码片段:

FileInputStream fileStream = new FileInputStream(destFile);
POIFSFileSystem fsPoi = new POIFSFileSystem(fileStream);

HSSFWorkbook workbook = new HSSFWorkbook(fsPoi);

int index = 0;

HSSFSheet sheet = workbook.getSheet("Setup");
if(sheet != null)   {
    index = workbook.getSheetIndex(sheet);
    workbook.removeSheetAt(index);
}
return destFile;
Run Code Online (Sandbox Code Playgroud)

在此之后,我得到了完全相同的工作簿,而没有删除工作表 "设置"

帮我解决这个问题.任何帮助,将不胜感激

java poi-hssf apache-poi

13
推荐指数
1
解决办法
2万
查看次数

如何在Java中读取具有空值的Excel单元格?

我正在使用Apache POI 3.6.我有一个空白的专栏.我希望能够阅读它,然后转到下一栏.即使我能解决 NullPointerException问题,我也无法进入下一个细胞.

这是我的代码片段:

HSSFCell cell = row.getCell(c);
String value = null;

switch (cell.getCellType()) {

    case HSSFCell.CELL_TYPE_FORMULA:
        value = "FORMULA value=" + cell.getCellFormula();
        break;

    case HSSFCell.CELL_TYPE_NUMERIC:
        value = "NUMERIC value=" + cell.getNumericCellValue();
        break;

    case HSSFCell.CELL_TYPE_STRING:
        value = "STRING value=" + cell.getStringCellValue();
        break;

    case HSSFCell.CELL_TYPE_BLANK:
        value="";
        break;

    case HSSFCell.CELL_TYPE_ERROR:
        value="error";
        break;

    default:
        break;
}

System.out.println("CELL col=" + cell.getColumnIndex() + " VALUE=" + value);
Run Code Online (Sandbox Code Playgroud)

我该如何解决我的问题?

java apache excel apache-poi

7
推荐指数
2
解决办法
3万
查看次数

在浏览器中显示Excel工作表?

我需要在Web浏览器中显示生成的excel(来自使用Apache POI的表)(无论是Firefox,Opera还是IE).我已经创建了JSP文件

contentType="application/vnd.ms-excel"

但我没有得到它.

这是我的代码片段:

<%@page session="true" contentType="application/vnd.ms-excel" pageEncoding="UTF-8"%>
<%@page import="org.apache.poi.ss.usermodel.CellStyle"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="org.apache.poi.ss.usermodel.CreationHelper"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFCell"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFRow"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFSheet"%>

<html>
    <head>
        <%!
            int r=0;

            HSSFWorkbook book;
            HSSFSheet sheet;
            HSSFRow row;

            CreationHelper createHelper = book.getCreationHelper();

            Connection conn;
            Statement stmt;
            ResultSet rs;
        %>
        <title>Report</title>
        <%
            book = new HSSFWorkbook();
            sheet = book.createSheet("Report");
        %>
    </head>
    <body>
        <%
            try     {

                    // Header of the Excel File
                row = sheet.createRow(r); …
Run Code Online (Sandbox Code Playgroud)

java excel jsp apache-poi

5
推荐指数
1
解决办法
1万
查看次数

两个Java日期之间的天数差异?

我想获得两个Java Date对象之间的区别.我用过Joda-Time库.但问题是我得到的天差异大于实际天差.

这是我的代码片段:

DateFormat formatter = new SimpleDateFormat("mm/dd/yyyy");

Date someDate=new Date();
Date today = Calendar.getInstance().getTime();

try     {
    someDate = formatter.parse("06/22/2010");
}
catch(ParseException pe)    {
    System.out.println("Parser Exception");
}

int days = Days.daysBetween(new DateTime(someDate), new DateTime(today)).getDays();

System.out.println(" Days Between " + someDate + " : " + today + " - " + days);
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

 Days Between Fri Jan 22 00:06:00 IST 2010 : Sun Jul 25 19:27:01 IST 2010 - 184
Run Code Online (Sandbox Code Playgroud)

在这里,为什么需要"06/22/2010"作为1月22日?有没有人面临类似的问题?

帮帮我的朋友.. Thanx提前..

java datediff jodatime

4
推荐指数
2
解决办法
2万
查看次数

从列表中删除元素时出现UnsupportedOperationException

我有两个逗号分隔值的字符串,比如一个数字从1到10,另一个有素数.我想要

从数字中删除素数

.

这是我的代码片段:

String numbers = "1,2,3,4,5,6,7,8,9,10";
String prime = "2,3,5,7";

List<String> numList = Arrays.asList(numbers.split(","));
numList.removeAll(Arrays.asList(prime.split(",")));
Run Code Online (Sandbox Code Playgroud)

我收到了UnsupportedOperationException.任何帮助,将不胜感激.

java list

-1
推荐指数
1
解决办法
628
查看次数

标签 统计

java ×7

apache-poi ×4

excel ×3

apache ×2

datediff ×2

jodatime ×2

jsp ×1

list ×1

poi-hssf ×1