java 怎么创建一个date对象

java 怎么创建一个date对象,第1张

public static void main(String[] args) {

Date date = new Date()

GregorianCalendar gc = new GregorianCalendar()

gc.set(Calendar.YEAR,2013)//设置

gc.set(Calendar.MONTH, 8)//这里0是1月..以此向后推

gc.set(Calendar.DAY_OF_MONTH, 29)//设置天

gc.set(Calendar.HOUR_OF_DAY,5)//设置小时

gc.set(Calendar.MINUTE, 7)//设置分

gc.set(Calendar.SECOND, 6)//设置秒

gc.set(Calendar.MILLISECOND,200)//设置毫秒

date = gc.getTime()

System.out.println(new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒SSS毫秒").format(date))

}

第一个问题:

这有好几种做法都可以实现:

1.new一个java.util.Date对象,调用它的setYear、setMonth等等方法,设置你要的年月日。不过这种做法不推荐,因为setYear等方法已经过时了。

2.new一个java.util.SimpleDateFormat类的实例,构造方法可以指定日期格式,例如yyyy-MM-dd,其中yyyy表示四位年份,MM表示两位月份,dd表示两位日期。然后通过调用这个SimpleDateFormat实例的parse方法可以解析获得指定日期的Date对象。

代码示例:

SimpleDateFormat

sdf

=

new

SimpleDateFormat("yyyy-MM-dd")

Date

d

=

sdf.parse("2014-03-02")

3.通过java.util.Calendar类的静态方法getInstance()获得一个日历类实例,然后调用此实例的set(int

year,

int

month,

int

date)

设置日历字段

YEAR、MONTH

DAY_OF_MONTH

的值,然后调用实例的getTime()方法可以获得指定日期的Date对象

第二个问题:

参考上一个问题的第3种做法,Calendar.getInstance()获得的是当前时刻的日历实例对象,调用此实例对象的setLenient(false)设置日历解释为宽松模式,然后再通过roll(int

field,

boolean

up)方法在给定的时间字段上添加或减去(上/下)单个时间单元(例如你要的“一个月”时间单月),最后通过getTime()方法获得Date对象。

这两个问题都是很简单的,你找份JDK

API文档看看就可以找到办法了,自己多看多想会更好。

以mysql为例,有个字段是timestamp或者datatime类型。

1、可以直接在java中直接new java.lang.util.Date()

2、获取到一个时间类型的字符串,然后利用SimpleDateFormat中的parse方法将时间字符串解析成一个Date对象。

现在比较流行的框架都是可以直接插入Date类型的数据,只要与数据库中的映射一致即可。

如mybatis,如下:

<resultMap id="BaseResultMap" type="com.test.User" >

<id column="id" property="id" jdbcType="INTEGER" />

<result column="name" property="name" jdbcType="VARCHAR" />

<result column="insert_time" property="insertTime" jdbcType="TIMESTAMP" />

</resultMap>

只要User中的属性insertTime是一个标准格式的java.lang.util.Date类型,然后调用mybatis的insert方法即可插入。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11947156.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存