我有以下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")) ThenAnd would the first part of my question be:
If Format(dr(1), "MM/dd/yyyy") >= DateAdd("d", 1, Format(Now, "MM/dd/yyyy")) ThenWhere 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")) ThenAnd would the first part of my question be:
If Format(dr(1), "MM/dd/yyyy") >= DateAdd("d", 1, Format(Now, "MM/dd/yyyy")) ThenWhere 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.
发布评论