需要一些帮助!这是一个2部分的问题..
我已经完成了相当多的编程,但我从来没有真正使用过日期,我用谷歌搜索了所有这些但却一无所获。
第1部分:
所以我想说我有一些变量: 公开日期adStartTime
我希望它采用以下格式:yyyy / mm / dd hh:mm:ss 所以我只是做adStartTime =(某些日期格式化程序)+(2011/08/08 08:08:08)*哪些不行?
是什么方法让它成为那样?我一直在收到错误,这样..我更喜欢在Date中做所有事情,而不是使用strings / int ..
第2部分:
一旦我以该格式获得日期,我将需要将其插入数据库,我可以以该格式插入日期吗?或者我需要改变吗?
我需要时间的原因是因为我正在为新公司证券设置自动广告,有时广告会运行一天或半天,所以我需要正确设置计时器。
感谢您的帮助..
答案 0 :(得分:4)
对于第1部分,请使用java.text.SimpleDateFormat
,如下所示:
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = format.parse(datestring);
如果您的代码看起来像这样,但仍然会出错,请修改您的问题以包含您的实际代码。
对于第2部分,您应该将日期作为日期插入数据库,而不是字符串,因此没有格式。
答案 1 :(得分:1)
1。)对于处理日期,我建议您查看Joda time
允许这种类型的转换。
例如
public boolean isAfterPayDay(DateTime datetime) {
if (datetime.getMonthOfYear() == 2) { // February is month 2!!
return datetime.getDayOfMonth() > 26;
}
return datetime.getDayOfMonth() > 28;
}
2。)为了在DB中存储dateTimes,有几个阵营可以容纳不同的东西
有人说你应该存储一个int并转换。 Joda让事情变得简单。其他人(比如某些oracle DBA)似乎更喜欢Date类型。 Joda也处理这个问题。这里讨论了一些问题Date storage discussion
实际操作方式取决于您的数据库类型和DBA的偏好(如果有的话)
我强烈建议您使用Timezone存储日期时间。