У меня есть следующий 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 в обоих случаях выше.