gpt4 book ai didi

Java日期检查帮助然后转换为VB.NET 2010

转载 作者:行者123 更新时间:2023-11-29 03:58:14 25 4
gpt4 key购买 nike

我有以下 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。

最佳答案

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

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

dateFormat.parse(dateString).after(tempDate)

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

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

关于Java日期检查帮助然后转换为VB.NET 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5105762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com