gpt4 book ai didi

android - 如何合并数据时间

转载 作者:行者123 更新时间:2023-11-30 04:19:12 25 4
gpt4 key购买 nike

在我的应用中,用户输入日期,然后输入时间。对于日期,日历会弹出,对于时间,时钟会弹出。要将它们存储在需要将它们组合成一个日期时间的数据库中,我将把它们转换成一个 int。我有具有日期的 fmtDate 和具有时间的 fmtTime。我将如何组合它们。

用户点击一个文本框,弹出一个日历。用户选择他们想要的日期,即 fmtDate。

用户单击下一个文本框并弹出一个时钟。用户选择他们想要的日期,这是 fmtTime。

我想将它们连接到 newTime 中,先是 fmtDate,然后是 fmtTime。所以我可以用 int currentTime=(int) ((newTime).toMillis(true)/1000);并存入数据库

最佳答案

与其尝试将两个字符串转换为 DateTime 对象,我建议您这样做。

1) 创建一个 java.util.Calendar 对象:

Calendar cal = Calendar.getInstance();

2) 当用户通过点击日历选择一个日期时,除了将格式化的日期打印到文本字段之外,还将此日期设置到您的日历对象中:

cal.set(Calendar.DATE, <date>);
cal.set(Calendar.MONTH, <month>);
cal.set(Calendar.YEAR, <year>);

3) 当用户通过点击时钟选择一个时间时,除了将格式化的时间打印到文本字段之外,还将这个时间设置到您的日历对象中:

cal.set(Calendar.HOUR_OF_DAY, <hour>);
cal.set(Calendar.MINUTE, <minute>);
cal.set(Calendar.SECOND, <second>);

4) 当您需要将日期/时间插入数据库时​​,只需从您的日历中创建 java.util.Timestamp 对象:

Timestamp tmstmp = new Timestamp(cal.getTimeInMillis);

5) 现在,假设您有一个这样的表:

CREATE TABLE my_table (
n_id INTEGER,
dt_time TIMESTAMP
);

然后你可以像这样插入新创建的时间戳:

Connection con = DriverManager.getConnection(...);
String sql = "INSERT INTO my_table (n_id, dt_time) VALUES (?, ?)";
PreparedStatememt stmt = con.prepareStatement(sql);
stmt.setInteger(1, 1);
stmt.setTimestamp(2, tmstmp);
stmt.executeUpdate();

关于android - 如何合并数据时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9521552/

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