java获取当前时间的方式

  1 import java.sql.Timestamp;

  2 import java.text.ParsePosition;

  3 import java.text.SimpleDateFormat;

  4 import java.util.Date;

  5 

  6 import com.ttsoft.framework.util.DateUtil;

  7 

  8 /**

  9  * Title: 时间获取

 10  * Description: 当前时间

 11  * Copyright: Copyright   2010

 12  * Company: 

 13  * @author jiq

 14  * @version 1.0

 15  */

 16 public class XJPDateUtil extends DateUtil {

 17     public static final String[] months = { "一月", "二月", "三月", "四月", "五月", "六月",

 18      "七月", "八月", "九月", "十月", "十一月", "十二月", };

 19 

 20     public static final String[] quarters = { "一季度", "二季度", "三季度", "四季度" };

 21 

 22     public XJPDateUtil() {

 23     }

 24 

 25     /**

 26      * 获取日期字符串。

 27      * 

 28      * <pre>

 29      *  日期字符串格式: yyyyMMdd

 30      *  其中:

 31      *      yyyy   表示4位年。

 32      *      MM     表示2位月。

 33      *      dd     表示2位日。

 34      * </pre>

 35      * 

 36      * @return String "yyyyMMdd"格式的日期字符串。

 37      */

 38     public static String getDate() {

 39  SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

 40 

 41  return formatter.format(new Date());

 42     }

 43 

 44     /**

 45      * 获取当前年度字符串。

 46      * 

 47      * <pre>

 48      *  日期字符串格式: yyyy

 49      *  其中:

 50      *      yyyy   表示4位年。

 51      * </pre>

 52      * 

 53      * @return String "yyyy"格式的当前年度字符串。

 54      */

 55     public static String getNowYear() {

 56  SimpleDateFormat formatter = new SimpleDateFormat("yyyy");

 57 

 58  return formatter.format(new Date());

 59     }

 60 

 61     /**

 62      * 获取当前月度字符串。

 63      * 

 64      * <pre>

 65      *  日期字符串格式: MM

 66      *  其中:

 67      *      MM   表示4位年。

 68      * </pre>

 69      * 

 70      * @return String "yyyy"格式的当前月度字符串。

 71      */

 72     public static String getNowMonth() {

 73  SimpleDateFormat formatter = new SimpleDateFormat("MM");

 74 

 75  return formatter.format(new Date());

 76     }

 77 

 78     /**

 79      * 获取当前月度字符串。

 80      * 

 81      * <pre>

 82      *  日期字符串格式: dd

 83      *  其中:

 84      *      dd   表示4位年。

 85      * </pre>

 86      * 

 87      * @return String "yyyy"格式的当前月度字符串。

 88      */

 89     public static String getNowDay() {

 90  SimpleDateFormat formatter = new SimpleDateFormat("dd");

 91 

 92  return formatter.format(new Date());

 93     }

 94 

 95     /**

 96      * 获取日期字符串。

 97      * 

 98      * <pre>

 99      *  日期字符串格式: yyyyMMdd

100      *  其中:

101      *      yyyy   表示4位年。

102      *      MM     表示2位月。

103      *      dd     表示2位日。

104      * </pre>

105      * 

106      * @param date

107      *                需要转化的日期。

108      * @return String "yyyyMMdd"格式的日期字符串。

109      */

110     public static String getDate(Date date) {

111  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

112 

113  return formatter.format(date);

114     }

115 

116     /**

117      * 获取日期字符串。 

118      * 

119      * <pre>

120      *  日期字符串格式: yyyyMMdd

121      *  其中:

122      *      yyyy   表示4位年。

123      *      MM     表示2位月。

124      *      dd     表示2位日。

125      * </pre>

126      * 

127      * @param date

128      *                需要转化的日期。

129      * @return String "yyyyMMdd"格式的日期字符串。

130      */

131     /**

132      * 将指定的日期字符串转化为日期对象

133      * 

134      * @param dateStr

135      *                日期字符串

136      * @return java.util.Date

137      * @roseuid 3F39FE450385

138      */

139     public static Date getDate(String dateStr) {

140  if (XJPTypeChecker.isDate(dateStr)) { // 日期型

141      SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");

142      try {

143   java.util.Date date = df.parse(dateStr);

144   return date;

145      } catch (Exception ex) {

146   Logger.write("日期格式不符合或者日期为空!请检查!");

147   return null;

148      } // end try - catch

149  } else if (XJPTypeChecker.isDatetime(dateStr)) { // 日期时间型

150      SimpleDateFormat df = new SimpleDateFormat(

151       "yyyy-MM-dd HH:mm:ss.SSS");

152      try {

153   java.util.Date date = df.parse(dateStr);

154   return date;

155      } catch (Exception ex) {

156   return null;

157      } // end try - catch

158  } // end if

159  return null;

160     }

161 

162     /**

163      * 获取日期字符串。

164      * 

165      * <pre>

166      *  日期字符串格式: yyyy-MM-dd

167      *  其中:

168      *      yyyy   表示4位年。

169      *      MM     表示2位月。

170      *      dd     表示2位日。

171      * </pre>

172      * 

173      * @return String "yyyy-MM-dd"格式的日期字符串。

174      */

175     public static String getHyphenDate() {

176  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

177 

178  return formatter.format(new Date());

179     }

180 

181     /**

182      * 获取日期字符串。

183      * 

184      * <pre>

185      *  日期字符串格式: yyyy-MM-dd

186      *  其中:

187      *      yyyy   表示4位年。

188      *      MM     表示2位月。

189      *      dd     表示2位日。

190      * </pre>

191      * 

192      * @param date

193      *                需要转化的日期。

194      * @return String "yyyy-MM-dd"格式的日期字符串。

195      */

196     public static String getHyphenDate(Date date) {

197  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

198 

199  return formatter.format(date);

200     }

201 

202     /**

203      * 将"yyyyMMdd"格式的日期字符串转换为日期对象。

204      * 

205      * @param source

206      *                日期字符串。

207      * @return Date 日期对象。

208      */

209     public static Date parsePlainDate(String source) {

210  SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

211 

212  return sdf.parse(source, new ParsePosition(0));

213     }

214 

215     /**

216      * 将“yyyy-MM-dd”格式的日期字符串转换为日期对象。

217      * 

218      * @param source

219      *                日期字符串。

220      * @return Date 日期对象。

221      */

222     public static Date parseHyphenDate(String source) {

223  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

224 

225  return sdf.parse(source, new ParsePosition(0));

226     }

227 

228     /**

229      * 将指定格式的日期字符串转换为日期对象。

230      * 

231      * @param source

232      *                日期字符串。

233      * @param pattern

234      *                模式。

235      * @return Date 日期对象。

236      */

237     public static Date parseDate(String source, String pattern) {

238  SimpleDateFormat sdf = new SimpleDateFormat(pattern);

239 

240  return sdf.parse(source, new ParsePosition(0));

241     }

242 

243     /**

244      * 将“yyyy-MM-dd”格式的日期字符串转换为“yyyyMMdd”格式的日期字符串。

245      * 

246      * @param source

247      *                日期字符串。

248      * @return String "yyyymmdd"格式的日期字符串。

249      */

250     public static String toPlainDate(String source) {

251  Date date = parseHyphenDate(source);

252  SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

253 

254  return formatter.format(date);

255     }

256 

257     /**

258      * 将“yyyyMMdd”格式的日期字符串转换为“yyyy-MM-dd”格式的日期字符串。

259      * 

260      * @param source

261      *                日期字符串。

262      * @return String "yyyy-MM-dd"格式的日期字符串。

263      */

264     public static String toHyphenDate(String source) {

265  Date date = parsePlainDate(source);

266  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

267 

268  return formatter.format(date);

269     }

270 

271     /**

272      * 获取时间戳,将日期对象转换为时间戳类型。

273      * 

274      * @param date

275      *                日期对象

276      * @return Timestamp 时间戳

277      */

278     public static Timestamp getTimestamp(Date date) {

279  return new Timestamp(date.getTime());

280     }

281 

282     /**

283      * 获取时间戳,将当前日期转换为时间戳类型。

284      * 

285      * @return Timestamp 时间戳

286      */

287     public static Timestamp getTimestamp() {

288  return new Timestamp(new Date().getTime());

289     }

290 

291     /**

292      * 将“yyyyMMdd”格式的日期字符串转换为Timestamp类型的对象。

293      * 

294      * @param source

295      *                日期字符串

296      * @return Timestamp 时间戳

297      */

298     public static Timestamp parseTimestamp(String source) {

299  Date date = parsePlainDate(source);

300 

301  return getTimestamp(date);

302     }

303 

304     /**

305      * 获得年度周期 <br>

306      * Example:<br>

307      * XJPDateUtil.getPeriodYear("20040229" , -1);<br>

308      * XJPDateUtil.getPeriodYear("20040228" , -1);<br>

309      * XJPDateUtil.getPeriodYear("20020230" , 2);<br>

310      * 

311      * @param source

312      *                时间串

313      * @param yearPeriod

314      *                年度周期 -1代表本时间的上一年度,以次类推。

315      * @return String 时间。

316      */

317     public static String getPeriodYear(String source, int yearPeriod) {

318  int p = Integer.parseInt(source.substring(0, 4)) + yearPeriod;

319  String newYear = String.valueOf(p)

320   + source.substring(4, source.length());

321  Date date = parsePlainDate(newYear);

322  String s = getDate(date);

323  int ny = Integer.parseInt(s);

324  int sy = Integer.parseInt(newYear);

325 

326  while (ny > sy) {

327      sy--;

328      ny = Integer.parseInt(getDate(parsePlainDate(String.valueOf(sy))));

329  }

330 

331  return String.valueOf(sy);

332     }

333 

334     /**

335      * 获取当前日期和时间

336      * 

337      * @return String

338      */

339     public static String getCurrentDateStr() {

340  Date date = new Date();

341  String str = null;

342  SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd HH:mm:ss");

343  str = df.format(date);

344  return str;

345     }

346 

347     /**

348      * 日期相加

349      *

350      * @param day

351      *             天数

352      * @return 返回相加后的日期

353      */

354     public static String addDate(int day) {

355  java.util.Calendar c = java.util.Calendar.getInstance();

356 

357  c.setTimeInMillis(System.currentTimeMillis() + ((long) day) * 24 * 3600

358   * 1000);

359  SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd HH:mm:ss");

360  return df.format(c.getTime());

361     }

362 

363     /**

364      * 返回毫秒

365      * 

366      * @param date

367      *             日期

368      * @return 返回毫秒

369      */

370     public static long getMillis(java.util.Date date) {

371  java.util.Calendar c = java.util.Calendar.getInstance();

372  c.setTime(date);

373  return c.getTimeInMillis();

374     }

375     /**

376      * 获取当前日期和时间

377      * @param format 日期格式 例:yyyy-MM-dd hh:mm

378      * @return String

379      */

380     public static String getNowDate(String format) {

381  Date date = new Date();

382  String str = null;

383  SimpleDateFormat df = new SimpleDateFormat(format);

384  str = df.format(date);

385  return str;

386     }

387     /**

388      * 将strmon的日期减小一个月

389      * @param mon

390      * @return

391      */

392     public static String getReduceMonDate(String strmon) {

393  if (strmon != null && !strmon.equals("")) {

394      Date mon = parseHyphenDate(strmon);

395      mon.setMonth(mon.getMonth() - 1);

396      return getHyphenDate(mon);

397  } else {

398      return "";

399  }

400     }

401   public static String getTimeStr(String dateStr){

402  Date date=getDate(dateStr);

403  String str = null;

404  SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");

405  str = df.format(date);

406  return str;

407     }

408   public static String getTimeStr(){

409       String str="";

410       SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");

411   str = df.format(new Date());

412   return str;

413   }

414 }

转载于http://blog.csdn.net/thl331860203/article/details/5912435

你可能感兴趣的:(java)