Java日期检查帮助然后转换为VB.NET 2010(Java date checking help Then convert to VB.NET 2010)

我有以下Java代码,我试图剖析,以更好地了解它所做的一切:

try { String userName = System.getenv("USERNAME"); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss"); OracleDataSource ds = new OracleDataSource(); ds.setDriverType("thin"); ds.setServerName("xxxxxxx"); ds.setPortNumber(151); ds.setDatabaseName("uServer"); ds.setUser("userhere"); ds.setPassword("xxxxxxxxxxxx"); ResultSet rset = null; Connection conn = ds.getConnection(); Statement stmt = conn.createStatement(rset.TYPE_SCROLL_SENSITIVE, rset.CONCUR_UPDATABLE); rset = stmt.executeQuery("select status, due_date, subject, message, begin_date " + "from notifications " + "where status = 'OPEN' and recipient_role <> 'SYSADMIN' " + "and recipient_role = 'userhere' " + "order by due_date"); while (rset.next()) { try { String tempString = rset.getString("begin_date"); String message = rset.getString("message").replace("\r", ""); message = message.replace("\n", ""); String dateString = rset.getString("begin_date"); int len = dateString.length(); dateString = dateString.substring(0, len - 2); java.util.Date tempDate = new java.util.Date(); if (dateFormat.parse(dateString).after(tempDate)) { trayIcon.displayMessage(rset.getString("subject"), message, TrayIcon.MessageType.INFO); } Thread.sleep(1750); } catch (Exception pe) { pe.printStackTrace(); } } //Fill the table on the Form JTable tbl = OracleWorkflowNotifierView.jTable; rset.beforeFirst(); int rsetCount = 0; while (rset.next()) { rsetCount++; } if (rsetCount == 0) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_green)); trayIcon.setImage(image.getImage()); } else { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_yellow)); trayIcon.setImage(image.getImage()); } rset.beforeFirst(); while (rset.next()) { java.util.Date today = new java.util.Date(); String endDate = rset.getString("due_date"); Calendar cal = Calendar.getInstance(); cal.setTime(today); cal.add(Calendar.DATE, -3); if (dateFormat.parse(endDate).after(cal.getTime())) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_red)); trayIcon.setImage(image.getImage()); } }

我不确定这里的比较是什么?

if (dateFormat.parse(dateString).after(tempDate)) { trayIcon.displayMessage(rset.getString("subject"), message, TrayIcon.MessageType.INFO); }

它是在查看开始日期减去当前日期吗?

然后这一个:

java.util.Date today = new java.util.Date(); String endDate = rset.getString("due_date"); Calendar cal = Calendar.getInstance(); cal.setTime(today); cal.add(Calendar.DATE, -3); if (dateFormat.parse(endDate).after(cal.getTime())) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_red)); trayIcon.setImage(image.getImage()); }

从今天开始减去3天的时间吗?

任何帮助都会很棒! 谢谢:o)

大卫

VB.NET代码

那么,根据下面的反馈,这是否适合在VB.net中替代它(我的问题的第二部分)?

If Format(dr(1), "MM/dd/yyyy") >= DateAdd("d", 3, Format(Now, "MM/dd/yyyy")) Then

我的问题的第一部分是:

If Format(dr(1), "MM/dd/yyyy") >= DateAdd("d", 1, Format(Now, "MM/dd/yyyy")) Then

其中dr(1)= dueDate在上述两种情况下。

I have the following Java code that i am trying to dissect to better understand what all it is doing:

try { String userName = System.getenv("USERNAME"); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss"); OracleDataSource ds = new OracleDataSource(); ds.setDriverType("thin"); ds.setServerName("xxxxxxx"); ds.setPortNumber(151); ds.setDatabaseName("uServer"); ds.setUser("userhere"); ds.setPassword("xxxxxxxxxxxx"); ResultSet rset = null; Connection conn = ds.getConnection(); Statement stmt = conn.createStatement(rset.TYPE_SCROLL_SENSITIVE, rset.CONCUR_UPDATABLE); rset = stmt.executeQuery("select status, due_date, subject, message, begin_date " + "from notifications " + "where status = 'OPEN' and recipient_role <> 'SYSADMIN' " + "and recipient_role = 'userhere' " + "order by due_date"); while (rset.next()) { try { String tempString = rset.getString("begin_date"); String message = rset.getString("message").replace("\r", ""); message = message.replace("\n", ""); String dateString = rset.getString("begin_date"); int len = dateString.length(); dateString = dateString.substring(0, len - 2); java.util.Date tempDate = new java.util.Date(); if (dateFormat.parse(dateString).after(tempDate)) { trayIcon.displayMessage(rset.getString("subject"), message, TrayIcon.MessageType.INFO); } Thread.sleep(1750); } catch (Exception pe) { pe.printStackTrace(); } } //Fill the table on the Form JTable tbl = OracleWorkflowNotifierView.jTable; rset.beforeFirst(); int rsetCount = 0; while (rset.next()) { rsetCount++; } if (rsetCount == 0) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_green)); trayIcon.setImage(image.getImage()); } else { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_yellow)); trayIcon.setImage(image.getImage()); } rset.beforeFirst(); while (rset.next()) { java.util.Date today = new java.util.Date(); String endDate = rset.getString("due_date"); Calendar cal = Calendar.getInstance(); cal.setTime(today); cal.add(Calendar.DATE, -3); if (dateFormat.parse(endDate).after(cal.getTime())) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_red)); trayIcon.setImage(image.getImage()); } }

I'm not sure what its compairing here?

if (dateFormat.parse(dateString).after(tempDate)) { trayIcon.displayMessage(rset.getString("subject"), message, TrayIcon.MessageType.INFO); }

Is it looking at the begin date minus the current date?

And then this one:

java.util.Date today = new java.util.Date(); String endDate = rset.getString("due_date"); Calendar cal = Calendar.getInstance(); cal.setTime(today); cal.add(Calendar.DATE, -3); if (dateFormat.parse(endDate).after(cal.getTime())) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_red)); trayIcon.setImage(image.getImage()); }

Is it looking at duedate minus 3 days from today?

Any help would be great! Thanks :o)

David

VB.NET CODE

So, taking the feedback below, would this be a suitable substitution for it in VB.net (the second part of my question)?

If Format(dr(1), "MM/dd/yyyy") >= DateAdd("d", 3, Format(Now, "MM/dd/yyyy")) Then

And would the first part of my question be:

If Format(dr(1), "MM/dd/yyyy") >= DateAdd("d", 1, Format(Now, "MM/dd/yyyy")) Then

Where dr(1) = dueDate in both cases above.

最满意答案

dateFormat.parse接受一个字符串并从中创建一个Date对象(如果它是给定的格式)。

tempDate是一个Date对象,设置为当前日期和时间。 所以

dateFormat.parse(dateString).after(tempDate)

正在检查从数据库返回的日期(begin_date)是否在当前时间之后。

在第二个实例中, cal是设置为当前时间的Calendar实例,然后设置为3天。 因此,它将数据库中的due_date与3天前的当前时间进行比较。

dateFormat.parse takes a string and creates a Date object from it (if it is in the given format).

tempDate is a Date object that is set to the current date and time. So

dateFormat.parse(dateString).after(tempDate)

is checking if the date that is returned from the database (begin_date) is after the current time.

In the second instance cal is an instance of Calendar that was set to the current time, then set back by 3 days. So it is comparing the due_date from the database with the current time 3 days ago.

Java日期检查帮助然后转换为VB.NET 2010(Java date checking help Then convert to VB.NET 2010)

我有以下Java代码,我试图剖析,以更好地了解它所做的一切:

try { String userName = System.getenv("USERNAME"); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss"); OracleDataSource ds = new OracleDataSource(); ds.setDriverType("thin"); ds.setServerName("xxxxxxx"); ds.setPortNumber(151); ds.setDatabaseName("uServer"); ds.setUser("userhere"); ds.setPassword("xxxxxxxxxxxx"); ResultSet rset = null; Connection conn = ds.getConnection(); Statement stmt = conn.createStatement(rset.TYPE_SCROLL_SENSITIVE, rset.CONCUR_UPDATABLE); rset = stmt.executeQuery("select status, due_date, subject, message, begin_date " + "from notifications " + "where status = 'OPEN' and recipient_role <> 'SYSADMIN' " + "and recipient_role = 'userhere' " + "order by due_date"); while (rset.next()) { try { String tempString = rset.getString("begin_date"); String message = rset.getString("message").replace("\r", ""); message = message.replace("\n", ""); String dateString = rset.getString("begin_date"); int len = dateString.length(); dateString = dateString.substring(0, len - 2); java.util.Date tempDate = new java.util.Date(); if (dateFormat.parse(dateString).after(tempDate)) { trayIcon.displayMessage(rset.getString("subject"), message, TrayIcon.MessageType.INFO); } Thread.sleep(1750); } catch (Exception pe) { pe.printStackTrace(); } } //Fill the table on the Form JTable tbl = OracleWorkflowNotifierView.jTable; rset.beforeFirst(); int rsetCount = 0; while (rset.next()) { rsetCount++; } if (rsetCount == 0) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_green)); trayIcon.setImage(image.getImage()); } else { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_yellow)); trayIcon.setImage(image.getImage()); } rset.beforeFirst(); while (rset.next()) { java.util.Date today = new java.util.Date(); String endDate = rset.getString("due_date"); Calendar cal = Calendar.getInstance(); cal.setTime(today); cal.add(Calendar.DATE, -3); if (dateFormat.parse(endDate).after(cal.getTime())) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_red)); trayIcon.setImage(image.getImage()); } }

我不确定这里的比较是什么?

if (dateFormat.parse(dateString).after(tempDate)) { trayIcon.displayMessage(rset.getString("subject"), message, TrayIcon.MessageType.INFO); }

它是在查看开始日期减去当前日期吗?

然后这一个:

java.util.Date today = new java.util.Date(); String endDate = rset.getString("due_date"); Calendar cal = Calendar.getInstance(); cal.setTime(today); cal.add(Calendar.DATE, -3); if (dateFormat.parse(endDate).after(cal.getTime())) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_red)); trayIcon.setImage(image.getImage()); }

从今天开始减去3天的时间吗?

任何帮助都会很棒! 谢谢:o)

大卫

VB.NET代码

那么,根据下面的反馈,这是否适合在VB.net中替代它(我的问题的第二部分)?

If Format(dr(1), "MM/dd/yyyy") >= DateAdd("d", 3, Format(Now, "MM/dd/yyyy")) Then

我的问题的第一部分是:

If Format(dr(1), "MM/dd/yyyy") >= DateAdd("d", 1, Format(Now, "MM/dd/yyyy")) Then

其中dr(1)= dueDate在上述两种情况下。

I have the following Java code that i am trying to dissect to better understand what all it is doing:

try { String userName = System.getenv("USERNAME"); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss"); OracleDataSource ds = new OracleDataSource(); ds.setDriverType("thin"); ds.setServerName("xxxxxxx"); ds.setPortNumber(151); ds.setDatabaseName("uServer"); ds.setUser("userhere"); ds.setPassword("xxxxxxxxxxxx"); ResultSet rset = null; Connection conn = ds.getConnection(); Statement stmt = conn.createStatement(rset.TYPE_SCROLL_SENSITIVE, rset.CONCUR_UPDATABLE); rset = stmt.executeQuery("select status, due_date, subject, message, begin_date " + "from notifications " + "where status = 'OPEN' and recipient_role <> 'SYSADMIN' " + "and recipient_role = 'userhere' " + "order by due_date"); while (rset.next()) { try { String tempString = rset.getString("begin_date"); String message = rset.getString("message").replace("\r", ""); message = message.replace("\n", ""); String dateString = rset.getString("begin_date"); int len = dateString.length(); dateString = dateString.substring(0, len - 2); java.util.Date tempDate = new java.util.Date(); if (dateFormat.parse(dateString).after(tempDate)) { trayIcon.displayMessage(rset.getString("subject"), message, TrayIcon.MessageType.INFO); } Thread.sleep(1750); } catch (Exception pe) { pe.printStackTrace(); } } //Fill the table on the Form JTable tbl = OracleWorkflowNotifierView.jTable; rset.beforeFirst(); int rsetCount = 0; while (rset.next()) { rsetCount++; } if (rsetCount == 0) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_green)); trayIcon.setImage(image.getImage()); } else { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_yellow)); trayIcon.setImage(image.getImage()); } rset.beforeFirst(); while (rset.next()) { java.util.Date today = new java.util.Date(); String endDate = rset.getString("due_date"); Calendar cal = Calendar.getInstance(); cal.setTime(today); cal.add(Calendar.DATE, -3); if (dateFormat.parse(endDate).after(cal.getTime())) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_red)); trayIcon.setImage(image.getImage()); } }

I'm not sure what its compairing here?

if (dateFormat.parse(dateString).after(tempDate)) { trayIcon.displayMessage(rset.getString("subject"), message, TrayIcon.MessageType.INFO); }

Is it looking at the begin date minus the current date?

And then this one:

java.util.Date today = new java.util.Date(); String endDate = rset.getString("due_date"); Calendar cal = Calendar.getInstance(); cal.setTime(today); cal.add(Calendar.DATE, -3); if (dateFormat.parse(endDate).after(cal.getTime())) { ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().createImage(url_red)); trayIcon.setImage(image.getImage()); }

Is it looking at duedate minus 3 days from today?

Any help would be great! Thanks :o)

David

VB.NET CODE

So, taking the feedback below, would this be a suitable substitution for it in VB.net (the second part of my question)?

If Format(dr(1), "MM/dd/yyyy") >= DateAdd("d", 3, Format(Now, "MM/dd/yyyy")) Then

And would the first part of my question be:

If Format(dr(1), "MM/dd/yyyy") >= DateAdd("d", 1, Format(Now, "MM/dd/yyyy")) Then

Where dr(1) = dueDate in both cases above.

最满意答案

dateFormat.parse接受一个字符串并从中创建一个Date对象(如果它是给定的格式)。

tempDate是一个Date对象,设置为当前日期和时间。 所以

dateFormat.parse(dateString).after(tempDate)

正在检查从数据库返回的日期(begin_date)是否在当前时间之后。

在第二个实例中, cal是设置为当前时间的Calendar实例,然后设置为3天。 因此,它将数据库中的due_date与3天前的当前时间进行比较。

dateFormat.parse takes a string and creates a Date object from it (if it is in the given format).

tempDate is a Date object that is set to the current date and time. So

dateFormat.parse(dateString).after(tempDate)

is checking if the date that is returned from the database (begin_date) is after the current time.

In the second instance cal is an instance of Calendar that was set to the current time, then set back by 3 days. So it is comparing the due_date from the database with the current time 3 days ago.