java定义时间格式大全_java时间格式大全

1.java.util.*;

2.importjava.text.*;

3.importjava.util.Calendar;

4.

5.publicclassVeDate {

6./**

7.*获取现在时间

8.*

9.* @return返回时间类型yyyy-MM-dd HH:mm:ss

10.*/

11.publicstaticDate getNowDate() {

12.Date currentTime =newDate();

13.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

14.String dateString = formatter.format(currentTime);

15.ParsePosition pos =newParsePosition(8);

16.Date currentTime_2 = formatter.parse(dateString, pos);

17.returncurrentTime_2;

18.}

19.

20./**

21.*获取现在时间

22.*

23.* @return返回短时间格式yyyy-MM-dd

24.*/

25.publicstaticDate getNowDateShort() {

26.Date currentTime =newDate();

27.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd");

28.String dateString = formatter.format(currentTime);

29.ParsePosition pos =newParsePosition(8);

30.Date currentTime_2 = formatter.parse(dateString, pos);

31.returncurrentTime_2;

32.}

33.

34./**

35.*获取现在时间

36.*

37.* @return返回字符串格式yyyy-MM-dd HH:mm:ss

38.*/

39.publicstaticString getStringDate() {

40.Date currentTime =newDate();

41.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

42.String dateString = formatter.format(currentTime);

43.returndateString;

44.}

45.

46./**

47.*获取现在时间

48.*

49.* @return返回短时间字符串格式yyyy-MM-dd

50.*/

51.publicstaticString getStringDateShort() {

52.Date currentTime =newDate();

53.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd");

54.String dateString = formatter.format(currentTime);

55.returndateString;

56.}

57.

58./**

59.*获取时间小时:分;秒HH:mm:ss

60.*

61.* @return

62.*/

63.publicstaticString getTimeShort() {

64.SimpleDateFormat formatter =newSimpleDateFormat("HH:mm:ss");

65.Date currentTime =newDate();

66.String dateString = formatter.format(currentTime);

67.returndateString;

68.}

69.

70./**

71.*将长时间格式字符串转换为时间yyyy-MM-dd HH:mm:ss

72.*

73.* @param strDate

74.* @return

75.*/

76.publicstaticDate strToDateLong(String strDate) {

77.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

78.ParsePosition pos =newParsePosition(0);

79.Date strtodate = formatter.parse(strDate, pos);

80.returnstrtodate;

81.}

82.

83./**

84.*将长时间格式时间转换为字符串yyyy-MM-dd HH:mm:ss

85.*

86.* @param dateDate

87.* @return

88.*/

89.publicstaticString dateToStrLong(java.util.Date dateDate) {

90.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

91.String dateString = formatter.format(dateDate);

92.returndateString;

93.}

94.

95./**

96.*将短时间格式时间转换为字符串yyyy-MM-dd

97.*

98.* @param dateDate

99.* @param k

100.* @return

101.*/

102.publicstaticString dateToStr(java.util.Date dateDate) {

103.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd");

104.String dateString = formatter.format(dateDate);

105.returndateString;

106.}

107.

108./**

109.*将短时间格式字符串转换为时间yyyy-MM-dd

110.*

111.* @param strDate

112.* @return

113.*/

114.publicstaticDate strToDate(String strDate) {

115.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd");

116.ParsePosition pos =newParsePosition(0);

117.Date strtodate = formatter.parse(strDate, pos);

118.returnstrtodate;

119.}

120.

121./**

122.*得到现在时间

123.*

124.* @return

125.*/

126.publicstaticDate getNow() {

127.Date currentTime =newDate();

128.returncurrentTime;

129.}

130.

131./**

132.*提取一个月中的最后一天

133.*

134.* @param day

135.* @return

136.*/

137.publicstaticDate getLastDate(longday) {

138.Date date =newDate();

139.longdate_3_hm = date.getTime() -3600000*34* day;

140.Date date_3_hm_date =newDate(date_3_hm);

141.returndate_3_hm_date;

142.}

143.

144./**

145.*得到现在时间

146.*

147.* @return字符串yyyyMMdd HHmmss

148.*/

149.publicstaticString getStringToday() {

150.Date currentTime =newDate();

151.SimpleDateFormat formatter =newSimpleDateFormat("yyyyMMdd HHmmss");

152.String dateString = formatter.format(currentTime);

153.returndateString;

154.}

155.

156./**

157.*得到现在小时

158.*/

159.publicstaticString getHour() {

160.Date currentTime =newDate();

161.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

162.String dateString = formatter.format(currentTime);

163.String hour;

164.hour = dateString.substring(11,13);

165.returnhour;

166.}

167.

168./**

169.*得到现在分钟

170.*

171.* @return

172.*/

173.publicstaticString getTime() {

174.Date currentTime =newDate();

175.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

176.String dateString = formatter.format(currentTime);

177.String min;

178.min = dateString.substring(14,16);

179.returnmin;

180.}

181.

182./**

183.*根据用户传入的时间表示格式,返回当前时间的格式如果是yyyyMMdd,注意字母y不能大写。

184.*

185.* @param sformat

186.*            yyyyMMddhhmmss

187.* @return

188.*/

189.publicstaticString getUserDate(String sformat) {

190.Date currentTime =newDate();

191.SimpleDateFormat formatter =newSimpleDateFormat(sformat);

192.String dateString = formatter.format(currentTime);

193.returndateString;

194.}

195.

196./**

197.*二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟

198.*/

199.publicstaticString getTwoHour(String st1, String st2) {

200.String[] kk =null;

201.String[] jj =null;

202.kk = st1.split(":");

203.jj = st2.split(":");

204.if(Integer.parseInt(kk[0]) 

205.return"0";

206.else{

207.doubley = Double.parseDouble(kk[0]) + Double.parseDouble(kk[1]) /60;

208.doubleu = Double.parseDouble(jj[0]) + Double.parseDouble(jj[1]) /60;

209.if((y - u) >0)

210.returny - u +"";

211.else

212.return"0";

213.}

214.}

215.

216./**

217.*得到二个日期间的间隔天数

218.*/

219.publicstaticString getTwoDay(String sj1, String sj2) {

220.SimpleDateFormat myFormatter =newSimpleDateFormat("yyyy-MM-dd");

221.longday =0;

222.try{

223.java.util.Date date = myFormatter.parse(sj1);

224.java.util.Date mydate = myFormatter.parse(sj2);

225.day = (date.getTime() - mydate.getTime()) / (24*60*60*1000);

226.}catch(Exception e) {

227.return"";

228.}

229.returnday +"";

230.}

231.

232./**

233.*时间前推或后推分钟,其中JJ表示分钟.

234.*/

235.publicstaticString getPreTime(String sj1, String jj) {

236.SimpleDateFormat format =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

237.String mydate1 ="";

238.try{

239.Date date1 = format.parse(sj1);

240.longTime = (date1.getTime() /1000) + Integer.parseInt(jj) *60;

241.date1.setTime(Time *1000);

242.mydate1 = format.format(date1);

243.}catch(Exception e) {

244.}

245.returnmydate1;

246.}

247.

248./**

249.*得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数

250.*/

251.publicstaticString getNextDay(String nowdate, String delay) {

252.try{

253.SimpleDateFormat format =newSimpleDateFormat("yyyy-MM-dd");

254.String mdate ="";

255.Date d = strToDate(nowdate);

256.longmyTime = (d.getTime() /1000) + Integer.parseInt(delay) *24*60*60;

257.d.setTime(myTime *1000);

258.mdate = format.format(d);

259.returnmdate;

260.}catch(Exception e){

261.return"";

262.}

263.}

264.

265./**

266.*判断是否润年

267.*

268.* @param ddate

269.* @return

270.*/

271.publicstaticbooleanisLeapYear(String ddate) {

272.

273./**

274.*详细设计:1.被400整除是闰年,否则:2.不能被4整除则不是闰年3.能被4整除同时不能被100整除则是闰年

275.* 3.能被4整除同时能被100整除则不是闰年

276.*/

277.Date d = strToDate(ddate);

278.GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();

279.gc.setTime(d);

280.intyear = gc.get(Calendar.YEAR);

281.if((year %400) ==0)

282.returntrue;

283.elseif((year %4) ==0) {

284.if((year %100) ==0)

285.returnfalse;

286.else

287.returntrue;

288.}else

289.returnfalse;

290.}

291.

292./**

293.*返回美国时间格式26 Apr 2006

294.*

295.* @param str

296.* @return

297.*/

298.publicstaticString getEDate(String str) {

299.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd");

300.ParsePosition pos =newParsePosition(0);

301.Date strtodate = formatter.parse(str, pos);

302.String j = strtodate.toString();

303.String[] k = j.split(" ");

304.returnk[2] + k[1].toUpperCase() + k[5].substring(2,4);

305.}

306.

307./**

308.*获取一个月的最后一天

309.*

310.* @param dat

311.* @return

312.*/

313.publicstaticString getEndDateOfMonth(String dat) {// yyyy-MM-dd

314.String str = dat.substring(0,8);

315.String month = dat.substring(5,7);

316.intmon = Integer.parseInt(month);

317.if(mon ==1|| mon ==3|| mon ==5|| mon ==7|| mon ==8|| mon ==10|| mon ==12) {

318.str +="31";

319.}elseif(mon ==4|| mon ==6|| mon ==9|| mon ==11) {

320.str +="30";

321.}else{

322.if(isLeapYear(dat)) {

323.str +="29";

324.}else{

325.str +="28";

326.}

327.}

328.returnstr;

329.}

330.

331./**

332.*判断二个时间是否在同一个周

333.*

334.* @param date1

335.* @param date2

336.* @return

337.*/

338.publicstaticbooleanisSameWeekDates(Date date1, Date date2) {

339.Calendar cal1 = Calendar.getInstance();

340.Calendar cal2 = Calendar.getInstance();

341.cal1.setTime(date1);

342.cal2.setTime(date2);

343.intsubYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);

344.if(0== subYear) {

345.if(cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))

346.returntrue;

347.}elseif(1== subYear &&11== cal2.get(Calendar.MONTH)) {

348.//如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周

349.if(cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))

350.returntrue;

351.}elseif(-1== subYear &&11== cal1.get(Calendar.MONTH)) {

352.if(cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))

353.returntrue;

354.}

355.returnfalse;

356.}

357.

358./**

359.*产生周序列,即得到当前时间所在的年度是第几周

360.*

361.* @return

362.*/

363.publicstaticString getSeqWeek() {

364.Calendar c = Calendar.getInstance(Locale.CHINA);

365.String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));

366.if(week.length() ==1)

367.week ="0"+ week;

368.String year = Integer.toString(c.get(Calendar.YEAR));

369.returnyear + week;

370.}

371.

372./**

373.*获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号

374.*

375.* @param sdate

376.* @param num

377.* @return

378.*/

379.publicstaticString getWeek(String sdate, String num) {

380.//再转换为时间

381.Date dd = VeDate.strToDate(sdate);

382.Calendar c = Calendar.getInstance();

383.c.setTime(dd);

384.if(num.equals("1"))//返回星期一所在的日期

385.c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

386.elseif(num.equals("2"))//返回星期二所在的日期

387.c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);

388.elseif(num.equals("3"))//返回星期三所在的日期

389.c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);

390.elseif(num.equals("4"))//返回星期四所在的日期

391.c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);

392.elseif(num.equals("5"))//返回星期五所在的日期

393.c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);

394.elseif(num.equals("6"))//返回星期六所在的日期

395.c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);

396.elseif(num.equals("0"))//返回星期日所在的日期

397.c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

398.returnnewSimpleDateFormat("yyyy-MM-dd").format(c.getTime());

399.}

400.

401./**

402.*根据一个日期,返回是星期几的字符串

403.*

404.* @param sdate

405.* @return

406.*/

407.publicstaticString getWeek(String sdate) {

408.//再转换为时间

409.Date date = VeDate.strToDate(sdate);

410.Calendar c = Calendar.getInstance();

411.c.setTime(date);

412.// int hour=c.get(Calendar.DAY_OF_WEEK);

413.// hour中存的就是星期几了,其范围1~7

414.// 1=星期日7=星期六,其他类推

415.returnnewSimpleDateFormat("EEEE").format(c.getTime());

416.}

417.publicstaticString getWeekStr(String sdate){

418.String str ="";

419.str = VeDate.getWeek(sdate);

420.if("1".equals(str)){

421.str ="星期日";

422.}elseif("2".equals(str)){

423.str ="星期一";

424.}elseif("3".equals(str)){

425.str ="星期二";

426.}elseif("4".equals(str)){

427.str ="星期三";

428.}elseif("5".equals(str)){

429.str ="星期四";

430.}elseif("6".equals(str)){

431.str ="星期五";

432.}elseif("7".equals(str)){

433.str ="星期六";

434.}

435.returnstr;

436.}

437.

438./**

439.*两个时间之间的天数

440.*

441.* @param date1

442.* @param date2

443.* @return

444.*/

445.publicstaticlonggetDays(String date1, String date2) {

446.if(date1 ==null|| date1.equals(""))

447.return0;

448.if(date2 ==null|| date2.equals(""))

449.return0;

450.//转换为标准时间

451.SimpleDateFormat myFormatter =newSimpleDateFormat("yyyy-MM-dd");

452.java.util.Date date =null;

453.java.util.Date mydate =null;

454.try{

455.date = myFormatter.parse(date1);

456.mydate = myFormatter.parse(date2);

457.}catch(Exception e) {

458.}

459.longday = (date.getTime() - mydate.getTime()) / (24*60*60*1000);

460.returnday;

461.}

462.

463./**

464.*形成如下的日历,根据传入的一个时间返回一个结构星期日星期一星期二星期三星期四星期五星期六下面是当月的各个时间

465.*此函数返回该日历第一行星期日所在的日期

466.*

467.* @param sdate

468.* @return

469.*/

470.publicstaticString getNowMonth(String sdate) {

471.//取该时间所在月的一号

472.sdate = sdate.substring(0,8) +"01";

473.

474.//得到这个月的1号是星期几

475.Date date = VeDate.strToDate(sdate);

476.Calendar c = Calendar.getInstance();

477.c.setTime(date);

478.intu = c.get(Calendar.DAY_OF_WEEK);

479.String newday = VeDate.getNextDay(sdate, (1- u) +"");

480.returnnewday;

481.}

482.

483./**

484.*取得数据库主键生成格式为yyyymmddhhmmss+k位随机数

485.*

486.* @param k

487.*表示是取几位随机数,可以自己定

488.*/

489.

490.publicstaticString getNo(intk) {

491.

492.returngetUserDate("yyyyMMddhhmmss") + getRandom(k);

493.}

494.

495./**

496.*返回一个随机数

497.*

498.* @param i

499.* @return

500.*/

501.publicstaticString getRandom(inti) {

502.Random jjj =newRandom();

503.// int suiJiShu = jjj.nextInt(9);

504.if(i ==0)

505.return"";

506.String jj ="";

507.for(intk =0; k 

508.jj = jj + jjj.nextInt(9);

509.}

510.returnjj;

511.}

512.

513./**

514.*

515.* @param args

516.*/

517.publicstaticbooleanRightDate(String date) {

518.

519.SimpleDateFormat sdf =newSimpleDateFormat("yyyy-MM-dd hh:mm:ss");

520.;

521.if(date ==null)

522.returnfalse;

523.if(date.length() >10) {

524.sdf =newSimpleDateFormat("yyyy-MM-dd hh:mm:ss");

525.}else{

526.sdf =newSimpleDateFormat("yyyy-MM-dd");

527.}

528.try{

529.sdf.parse(date);

530.}catch(ParseException pe) {

531.returnfalse;

532.}

533.returntrue;

534.}

535.

536./***************************************************************************

537.* //nd=1表示返回的值中包含年度//yf=1表示返回的值中包含月份//rq=1表示返回的值中包含日期//format表示返回的格式1

538.*以年月日中文返回2以横线-返回// 3以斜线/返回4以缩写不带其它符号形式返回// 5以点号.返回

539.**************************************************************************/

540.publicstaticString getStringDateMonth(String sdate, String nd, String yf, String rq, String format) {

541.Date currentTime =newDate();

542.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd");

543.String dateString = formatter.format(currentTime);

544.String s_nd = dateString.substring(0,4);//年份

545.String s_yf = dateString.substring(5,7);//月份

546.String s_rq = dateString.substring(8,10);//日期

547.String sreturn ="";

548.roc.util.MyChar mc =newroc.util.MyChar();

549.if(sdate ==null|| sdate.equals("") || !mc.Isdate(sdate)) {//处理空值情况

550.if(nd.equals("1")) {

551.sreturn = s_nd;

552.//处理间隔符

553.if(format.equals("1"))

554.sreturn = sreturn +"年";

555.elseif(format.equals("2"))

556.sreturn = sreturn +"-";

557.elseif(format.equals("3"))

558.sreturn = sreturn +"/";

559.elseif(format.equals("5"))

560.sreturn = sreturn +".";

561.}

562.//处理月份

563.if(yf.equals("1")) {

564.sreturn = sreturn + s_yf;

565.if(format.equals("1"))

566.sreturn = sreturn +"月";

567.elseif(format.equals("2"))

568.sreturn = sreturn +"-";

569.elseif(format.equals("3"))

570.sreturn = sreturn +"/";

571.elseif(format.equals("5"))

572.sreturn = sreturn +".";

573.}

574.//处理日期

575.if(rq.equals("1")) {

576.sreturn = sreturn + s_rq;

577.if(format.equals("1"))

578.sreturn = sreturn +"日";

579.}

580.}else{

581.//不是空值,也是一个合法的日期值,则先将其转换为标准的时间格式

582.sdate = roc.util.RocDate.getOKDate(sdate);

583.s_nd = sdate.substring(0,4);//年份

584.s_yf = sdate.substring(5,7);//月份

585.s_rq = sdate.substring(8,10);//日期

586.if(nd.equals("1")) {

587.sreturn = s_nd;

588.//处理间隔符

589.if(format.equals("1"))

590.sreturn = sreturn +"年";

591.elseif(format.equals("2"))

592.sreturn = sreturn +"-";

593.elseif(format.equals("3"))

594.sreturn = sreturn +"/";

595.elseif(format.equals("5"))

596.sreturn = sreturn +".";

597.}

598.//处理月份

599.if(yf.equals("1")) {

600.sreturn = sreturn + s_yf;

601.if(format.equals("1"))

602.sreturn = sreturn +"月";

603.elseif(format.equals("2"))

604.sreturn = sreturn +"-";

605.elseif(format.equals("3"))

606.sreturn = sreturn +"/";

607.elseif(format.equals("5"))

608.sreturn = sreturn +".";

609.}

610.//处理日期

611.if(rq.equals("1")) {

612.sreturn = sreturn + s_rq;

613.if(format.equals("1"))

614.sreturn = sreturn +"日";

615.}

616.}

617.returnsreturn;

618.}

619.

620.publicstaticString getNextMonthDay(String sdate,intm) {

621.sdate = getOKDate(sdate);

622.intyear = Integer.parseInt(sdate.substring(0,4));

623.intmonth = Integer.parseInt(sdate.substring(5,7));

624.month = month + m;

625.if(month <0) {

626.month = month +12;

627.year = year -1;

628.}elseif(month >12) {

629.month = month -12;

630.year = year +1;

631.}

632.String smonth ="";

633.if(month <10)

634.smonth ="0"+ month;

635.else

636.smonth =""+ month;

637.returnyear +"-"+ smonth +"-10";

638.}

639.

640.publicstaticString getOKDate(String sdate) {

641.if(sdate ==null|| sdate.equals(""))

642.returngetStringDateShort();

643.

644.if(!VeStr.Isdate(sdate)) {

645.sdate = getStringDateShort();

646.}

647.//将“/”转换为“-”

648.sdate = VeStr.Replace(sdate,"/","-");

649.//如果只有8位长度,则要进行转换

650.if(sdate.length() ==8)

651.sdate = sdate.substring(0,4) +"-"+ sdate.substring(4,6) +"-"+ sdate.substring(6,8);

652.SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd");

653.ParsePosition pos =newParsePosition(0);

654.Date strtodate = formatter.parse(sdate, pos);

655.String dateString = formatter.format(strtodate);

656.returndateString;

657.}

658.

659.publicstaticvoidmain(String[] args)throwsException {

660.try{

661.//System.out.print(Integer.valueOf(getTwoDay("2006-11-03 12:22:10", "2006-11-02 11:22:09")));

662.}catch(Exception e) {

663.thrownewException();

664.}

665.//System.out.println("sss");

666.}

667.}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值