java - 如何从java中保存数据库值的字符串数组计算一小时前的时间

标签 java arrays time

我有一个字符串类型的数组,其中保存数据库中格式为“2014-09-02 15:19:59.000”的值。数组有 3600 行。现在我想根据这些值计算一小时前的时间在java中。如何做到这一点。 选择从数据库检索值的代码是:

public String[] database_Current() {
  List < String > timeStr = new ArrayList < String > ();


  try {
    con = getConnection();
    String sql = "select max(logtime) from vacuum_analog_1mins";

    clstmt = con.prepareCall(sql);

    clstmt.execute();
    rs = clstmt.getResultSet();

    while (rs.next()) {

      timeStr.add(rs.getString(1).substring(11, 16));

    }

  } catch (Exception e) {
    System.out.println("\nException in  Bean in getDbTable(String code):" + e);
  } finally {
    closeConnection();
  }
  // I would return the list here, but let's convert it to an array
  atime = timeStr.toArray(new String[timeStr.size()]);





  return atime;
}
如何从 atime 值获取一小时前的时间。

最佳答案

你的问题有点令人困惑。在您的问题中,您只能从包含 ma​​x(logtime) 单列的查询 "select max(logtime) from Vacuum_analog_1mins" 中获取单行以及您存储在 timeStr 数组中的单个值。我不明白在这里使用数组来存储单个值的目的是什么,即使你每次都会得到单个值。

我得到的是您希望比从数据库获取的实际时间少一小时。

示例:

从数据库获取:

currentDateFromDB = 2014-09-02 15:19:59.000

你想要拥有:

changedDate = 2014-09-02 14:19:59.000

为此,您可以使用 java 的 Calendar 类:

//currentDateFromDB in string form from db
Date parsedDate = new Date();
try {
    SimpleDateFormat format =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
    parsedDate = format.parse(currentDateFromDB);
}
catch(ParseException pe) {
     throw new IllegalArgumentException();
}

Calendar calendar=Calendar.getInstance();
calendar.setTime(parsedDate); //set date here
int hours = calendar.get(Calendar.HOUR_OF_DAY);
hours--; //reduce by one
calendar.set(Calendar.HOUR_OF_DAY, hours); //again set desired hours
Date date=calendar.getTime(); //get modified time

关于java - 如何从java中保存数据库值的字符串数组计算一小时前的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27098556/

相关文章:

arrays - 一维数数组聚类

Python,减去格式中的两个不同时间(HH :MM:SS - HH:MM:SS)

java - 将 Java 移植到 AS3

java - 尝试使用日历对象获取特定月份的天数

arrays - 在 Swift 中,一个高效的函数,它根据谓词将一个数组分成 2 个数组

Linux时间转换的php函数

algorithm - 递归关系

java - Spring boot @Async 注解抛出 LazyInitializationException

java - Android 中无法在 data/data/中找到数据库

javascript - 如何解析 PHP 脚本接收到的 JSON 数据