java格式化oracle时间问题

public String getSqlTimeTamp(java.sql.Timestamp date){//方法一
SimpleDateFormat sformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(date!=null)
return sformat.format(date);
else
return "";
}

public String getSqlTime(java.sql.Date date){//方法二
SimpleDateFormat sformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(date!=null)
return sformat.format(date);
else
return "";
}

public String getUtilTime(java.util.Date date){//方法三
SimpleDateFormat sformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(date!=null)
return sformat.format(date);
else
return "";
}



方法调用如下:
String sql = "select sysdate 当前时间1,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') 当前时间2 from dual";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if(rs.next()){
System.out.print("Sql1当前时间:");
System.out.println(Factory.getOracleDB().getSqlTime(rs.getDate("当前时间1")));
System.out.print("Sql2当前时间:");
System.out.println(Factory.getOracleDB().getSqlTimeTamp(rs.getTimestamp("当前时间1")));
System.out.print("Sql3当前时间:");
System.out.println(rs.getString("当前时间2"));
System.out.print("Util当前时间:");
System.out.println(Factory.getOracleDB().getUtilTime(new Date()));



输出结果如下:
Sql1当前时间:2011-04-07 00:00:00
Sql2当前时间:2011-04-07 09:30:39
Sql3当前时间:2011-04-07 09:30:39
Util当前时间:2011-04-07 09:30:39


说明:getSqlTime方法没有正确显示小时、分钟、秒,我认为是因为Java.sql.Date在继承java.util.Date中的Date类后将小时、分钟、秒部分都设置为0了,只保留了年月日部分。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java 8中,时间格式化可以使用java.time包中的DateTimeFormatter类来完成。以下是一个简单的例子: ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { // 获取当前时间 LocalDateTime now = LocalDateTime.now(); // 创建一个格式化器 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 格式化时间 String formattedDateTime = now.format(formatter); // 输出格式化后的时间 System.out.println("当前时间: " + formattedDateTime); } } ``` 在上面的例子中,我们首先使用`LocalDateTime.now()`方法获取当前时间。然后,我们创建一个格式化器对象`DateTimeFormatter`,并使用`ofPattern()`方法指定要使用的日期时间格式。最后,我们使用`format()`方法将时间格式化为字符串。 输出将类似于以下内容: ``` 当前时间: 2023-02-16 10:30:45 ``` 您可以根据需要修改日期时间格式。更多有关Java 8日期时间API的信息,请参考[官方文档](https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html)。 ### 回答2: Java 8引入了新的时间日期API,其中包含了方便的时间格式化功能。通过使用DateTimeFormatter类,我们可以将时间对象转换为格式化的字符串。 首先,我们需要创建一个格式化模板,以指定所需的时间格式。模板使用预定义的格式化符号来表示不同的时间单位,例如年份使用"yyyy",月份使用"MM",日期使用"dd",小时使用"HH",分钟使用"mm",秒钟使用"ss"等等。可以根据需要进行组合和排列。 然后,我们可以使用DateTimeFormatter类的ofPattern方法创建一个格式化器对象,将模板作为参数传递进去。 接下来,我们可以使用格式化器对象的format方法将时间对象转换为字符串,代码示例如下: ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { // 创建时间对象 LocalDateTime now = LocalDateTime.now(); // 创建格式化模板 String pattern = "yyyy-MM-dd HH:mm:ss"; // 创建格式化器对象 DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); // 格式化时间对象为字符串 String formattedDateTime = now.format(formatter); System.out.println(formattedDateTime); } } ``` 上述代码将当前时间对象格式化为"yyyy-MM-dd HH:mm:ss"的字符串格式,并将其打印输出。 需要注意的是,DateTimeFormatter类还提供了许多其他方法和选项,可以根据需要对时间进行格式化,例如指定不同的区域设置、时区、语言等。在使用时间格式化时,我们可以根据实际需求选择合适的选项和方法。 ### 回答3: Java 8引入了一个新的时间日期API,可以方便地对时间进行格式化。在Java中,我们可以使用DateTimeFormatter类来指定日期和时间的格式。以下是一些常用的时间格式化示例: 1. 格式化为字符串:可以使用DateTimeFormatter类的ofPattern()方法来创建一个格式化模式,并使用format()方法将时间对象格式化为字符串。 例如: ``` LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDateTime = now.format(formatter); System.out.println("格式化后的时间:" + formattedDateTime); ``` 输出结果类似于:格式化后的时间:2022-01-01 12:34:56 2. 解析字符串为时间:可以使用DateTimeFormatter类的parse()方法将字符串解析为时间对象。 例如: ``` String dateTimeString = "2022-01-01 12:34:56"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime parsedDateTime = LocalDateTime.parse(dateTimeString, formatter); System.out.println("解析后的时间:" + parsedDateTime); ``` 输出结果类似于:解析后的时间:2022-01-01T12:34:56 3. 调整格式:可以使用withPattern()方法来调整已有的DateTimeFormatter的格式。 例如: ``` LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter adjustedFormatter = formatter.withPattern("yyyy/MM/dd HH:mm"); String adjustedDateTime = now.format(adjustedFormatter); System.out.println("调整格式后的时间:" + adjustedDateTime); ``` 输出结果类似于:调整格式后的时间:2022/01/01 12:34 通过使用Java 8的时间日期API和DateTimeFormatter类,我们可以方便地进行时间格式化操作,从而满足各种不同的格式要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值