Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. /*
  2. * Project Name:rtdc_export
  3. * File Name:DateUtilTest
  4. * Package Name:com.ly.dc.rtdc.entry.util
  5. * Date:2014/12/2213:47
  6. * Copyright (c) 2014, LY.com All Rights Reserved.
  7. */
  8. package com.ly.dc.rtdc.entry.util;
  9.  
  10. import org.apache.commons.lang3.time.FastDateFormat;
  11. import org.joda.time.format.DateTimeFormat;
  12. import org.joda.time.format.DateTimeFormatter;
  13. import org.joda.time.format.DateTimeFormatterBuilder;
  14. import org.joda.time.format.DateTimeParser;
  15. import org.junit.Test;
  16.  
  17. import java.text.ParseException;
  18. import java.text.SimpleDateFormat;
  19. import java.util.Date;
  20. import java.util.Locale;
  21.  
  22. import static org.junit.Assert.assertEquals;
  23.  
  24. /**
  25. * ClassName: DateUtilTest
  26. * Description:
  27. * Date: 2014/12/22 13:47
  28. *
  29. * @author ymh09658
  30. * @version V1.0
  31. * @since JDK 1.6
  32. */
  33. public class DateUtilTest {
  34. private static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
  35. private static final String YYYY_MM_DD_HH_MM_SS_SSS = "yyyy-MM-dd HH:mm:ss.SSS";
  36. private static final String YYYY_MM_DD_KK_MM_SS_A = "yyyy-MM-dd KK:mm:ss a";
  37. private String a = "2014-12-22 13:48:11";
  38. private String b = "2014-12-22 13:48:11.112";
  39. private String c = "2014-12-22 01:48:11 PM";
  40.  
  41. private String[] l = { a, b, c };
  42.  
  43. @Test
  44. public void test2() {
  45. long time = System.currentTimeMillis();
  46. SimpleDateFormat format = new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS);
  47.  
  48. for (int i = 0; i < 10000; i++) {
  49. try {
  50. assertEquals(format.parse(l[i % 3]).getHours(), 13);
  51. } catch (ParseException e) {
  52. e.printStackTrace();
  53. }
  54. }
  55. System.out.println("2 " + (System.currentTimeMillis() - time));
  56. }
  57.  
  58. @Test
  59. public void test3() {
  60. long time = System.currentTimeMillis();
  61.  
  62. final DateTimeParser[] parses = { DateTimeFormat.forPattern(YYYY_MM_DD_HH_MM_SS).getParser(),
  63. DateTimeFormat.forPattern(YYYY_MM_DD_HH_MM_SS_SSS).getParser() };
  64.  
  65. for (int i = 0; i < 10000; i++) {
  66. DateTimeFormatter formatter = new DateTimeFormatterBuilder().append(null, parses).toFormatter();
  67. String text = l[i % 3];
  68. Date date;
  69. try {
  70. date = formatter.parseDateTime(text).toDate();
  71. } catch (IllegalArgumentException e) {
  72. date = DateTimeFormat.forPattern(YYYY_MM_DD_KK_MM_SS_A).withLocale(Locale.US)
  73. .parseDateTime(text).toDate();
  74.  
  75. }
  76. assertEquals(date.getHours(), 13);
  77. }
  78.  
  79. System.out.println("3 " + (System.currentTimeMillis() - time));
  80. }
  81.  
  82. @Test
  83. public void test4() {
  84. long time = System.currentTimeMillis();
  85. final DateTimeParser[] parses = { DateTimeFormat.forPattern(YYYY_MM_DD_HH_MM_SS).getParser(),
  86. DateTimeFormat.forPattern(YYYY_MM_DD_HH_MM_SS_SSS).getParser() };
  87. DateTimeFormatter formatter = new DateTimeFormatterBuilder().append(null, parses).toFormatter();
  88. DateTimeFormatter withLocale = DateTimeFormat.forPattern(YYYY_MM_DD_KK_MM_SS_A).withLocale(Locale.US);
  89.  
  90. for (int i = 0; i < 10000; i++) {
  91. String text = l[i % 3];
  92. Date date;
  93. try {
  94. date=formatter.parseDateTime(text).toDate();
  95. } catch (IllegalArgumentException e) {
  96. date=withLocale.parseDateTime(text).toDate();
  97. }
  98. assertEquals(date.getHours(), 13);
  99. }
  100.  
  101. System.out.println("4 " + (System.currentTimeMillis() - time));
  102. }
  103.  
  104. @Test
  105. public void test5() throws ParseException {
  106. long time = System.currentTimeMillis();
  107.  
  108. for (int i = 0; i < 10000; i++) {
  109. String text = l[i % 3];
  110. Date date;
  111. try {
  112. date=FastDateFormat.getInstance(YYYY_MM_DD_HH_MM_SS).parse(text);
  113. } catch (ParseException e) {
  114. try {
  115. date=FastDateFormat.getInstance(YYYY_MM_DD_HH_MM_SS_SSS).parse(text);
  116. } catch (ParseException e1) {
  117. date=FastDateFormat.getInstance(YYYY_MM_DD_KK_MM_SS_A).parse(text);
  118. }
  119. }
  120. assertEquals(date.getHours(), 13);
  121. }
  122.  
  123. System.out.println("5 " + (System.currentTimeMillis() - time));
  124. }
  125.  
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement