- 浏览: 39289 次
- 性别:
- 来自: 北京
文章分类
最新评论
java.util.Calendar中的陷阱
需求:
从输入框得到用户分开输入的年、月、日,将信息做为Date类型插入数据库
解决一:
InputBean bean = new InputBean(); // 封装用户输入
// 获取用户输入,封装于bean对象中
Calendar cal = Calendar.getInstance();
cal.set(cal.YEAR,bean.getYear()); // Year
cal.set(cal.MONTH,bean.getMonth()); // Month
cal.set(cal.DAY_OF_MONTH,bean.getDay()); // Day
// 数据库操作
// 获取用户输入,封装于bean对象中
Calendar cal = Calendar.getInstance();
cal.set(cal.YEAR,bean.getYear()); // Year
cal.set(cal.MONTH,bean.getMonth()); // Month
cal.set(cal.DAY_OF_MONTH,bean.getDay()); // Day
// 数据库操作
陷阱:
Calendar中的MONTH字段和数组下标一样,从0开始,0代表Calendar.JANUARY,1代表Calendar.FEBUARY……12代表次年Calendar.JANUARY。因此用户输入的月份在置入Calendar对象之前必须进行处理,即减一。
解决二:
InputBean bean = new InputBean(); // 封装用户输入
// 获取用户输入,封装于bean对象中
Calendar cal = Calendar.getInstance();
cal.set(cal.YEAR,bean.getYear()); // Year
cal.set(cal.MONTH,bean.getMonth() - 1); // Month
cal.set(cal.DAY_OF_MONTH,bean.getDay()); // Day
// 数据库操作
// 获取用户输入,封装于bean对象中
Calendar cal = Calendar.getInstance();
cal.set(cal.YEAR,bean.getYear()); // Year
cal.set(cal.MONTH,bean.getMonth() - 1); // Month
cal.set(cal.DAY_OF_MONTH,bean.getDay()); // Day
// 数据库操作
发表评论
-
在Java中使用Oracle blob
2005-02-13 22:27 773Oracle中的lob (Large Object)可以存储非 ... -
java.util.StringTokenization
2005-02-13 22:29 642今天室友老七做数据库大作业,其中要实现一个功能,就是输入一个以 ... -
JBuilder 2005中的Servlet mapping
2005-02-13 22:30 698使用JB进行Servlet好像很方便的样子,但是servlet ... -
static与final变量
2005-08-04 12:27 745一、illegal forward refrence 前天写一 ... -
使用策略模式(Strategy)实现多关键字排序
2005-08-04 12:37 791“策略模式”的出现,是为了提供一套相互之间可灵活替换的算法, ... -
Alloy
2005-08-04 13:09 658Alloy look and feel(http:// ... -
IDEA
2005-08-04 13:11 923今天在TSS上看到IntelliJ的IDEA 5.0终于rel ... -
原型模式(Prototype)
2005-08-05 10:54 742一、概述 原型模式属于对象创建模式,通过给出一个原型对象来指明 ... -
IDEA破解过程
2005-08-05 19:11 1804开场白就不说了,直接切入正题吧。本破解的前提是安装了IDEA ... -
适配器模式(Adapter)
2005-08-06 19:39 619一、概述 类的适配器模式把被适配的类的API转换成为目标类的A ... -
A beginners guide to Dependency Injection [转载自TSS]
2005-08-08 22:30 817Scope This article presents a h ... -
Alloy破解过程
2005-08-09 15:42 8691package com.incors.plaf. ... -
接口与Object类的关系?
2005-08-19 13:53 1108今天凌晨coding的时候发现一个很有趣的现象。“Object ... -
缺省适配器模式(Default Adapter)
2005-09-06 12:01 779一、概述 当不需要全部实现适配器接口提供的方法时,可先设计一个 ... -
Object Modeling Strategies (I)
2005-09-08 10:12 590Activities and model components ... -
Joshua Bloch咏Tiger诗八首
2005-09-08 16:59 839“Ease of Development”是J2SE 1.5的 ... -
James Gosling
2005-09-14 22:01 770今天是Java China 2005的最后一天,下午没有去各个 ... -
Object Modeling Strategies (II)
2005-09-19 15:23 622Str#1d. "Invest an Hour&qu ... -
Object Modeling Strategies (III)
2005-09-19 15:26 563Identifying system purpose and ... -
Tomcat 5.5.9 不支持switch(<enum>)?
2005-09-19 18:51 811ServiceExceptionType: package p ...
相关推荐
4. **新的日期/时间API**:`java.time` 包取代了原有的 `java.util.Date` 和 `java.util.Calendar`,提供了更直观、更易于使用的日期和时间操作。例如,`LocalDate`、`LocalTime` 和 `LocalDateTime` 类可以方便地...
日期和时间API的重大改进体现在java.time包中,替换了之前的java.util.Date和Calendar,提供了更直观、更易于使用的类,如LocalDate、LocalTime和LocalDateTime。这使得处理日期和时间的操作变得更加简单且避免了...
在Java 8中,日期和时间相关的API得到了彻底的改造,引入了java.time包,其中包含诸如LocalDate、LocalTime、LocalDateTime、ZonedDateTime等类,它们提供了更强大、更直观的方式来处理日期和时间,相比旧的java....
这个新API比旧的java.util.Date和java.util.Calendar API更加直观且易于使用,避免了许多以前常见的陷阱。 在安全性方面,JDK 8u161包含了对已知安全漏洞的修复。Oracle定期发布这些安全更新,以保护用户的系统免受...
5. **日期和时间API**:Java 8提供了全新的`java.time`包,替换了过时的`java.util.Date`和`java.util.Calendar`,提供了更强大、更直观的日期和时间处理功能。 6. **默认方法**:Java 8在接口中引入了默认方法,...
- Java 8提供了全新的java.time包,取代了过时的java.util.Date和Calendar,提供了更加友好和强大的日期时间处理功能。 7. **默认方法**: - 接口中引入了默认方法,允许接口定义实现方法,这为接口添加新功能而...
19. **DateTimeUtils**: 提供与旧版`java.util.Date`和`Calendar`转换的工具方法。 20. **TemporalField**: 代表日期时间字段,如`ChronoField.DAY_OF_MONTH`。 通过以上示例,我们可以看到Java 8时间日期库提供了...
5. **日期时间API的改进**:JDK1.8更新了日期和时间的处理,引入了java.time包,包括LocalDate, LocalDateTime, ZonedDateTime等类,它们比旧的java.util.Date和Calendar API更加易用和强大。 6. **接口的默认方法*...
Java 8改进了日期和时间的处理,引入了`java.time`包,包含`LocalDate`、`LocalTime`、`LocalDateTime`、`ZonedDateTime`等类,提供了更强大的日期时间操作功能,比旧的`java.util.Date`和`Calendar`类更易用且功能...
辅助文件`rawjavacalendar2datenum.m` 可能是用来将Java日期对象(`java.util.Calendar` 类型)转换为MATLAB的`datenum`格式的工具,因为MATLAB的某些时间操作可能需要与Java交互,尤其是处理复杂的时区和DST规则时...
它们取代了过时的`java.util.Date`和`Calendar`,提供了更直观、更强大的日期时间操作API。而在JavaScript中,我们可以使用内置的`Date`对象,或者利用第三方库如moment.js或day.js来增强日期处理功能。 在Python中...
在并发编程方面,线程的生命周期管理、同步原语如synchronized和java.util.concurrent包下的高级并发工具,都可以通过阅读源码得到更深层次的理解。 此外,JDK中的IO流、网络编程、日期时间API等模块也是值得深入...