`

date3 字符转换date??

    博客分类:
  • Date
阅读更多
public static void main(String[] args) throws Exception {
		/*Properties properties = new Properties();
		properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("b.txt"));
		
		for(Map.Entry entry:properties.entrySet()){
			System.out.println((String)entry.getKey());
			System.out.println((String)entry.getValue());
		}*/
		
		/*
		 * Default Date: 2001-1-31
		 * Increace 1 month by Set,Add ,Roll Method 
		 */
		Calendar cal  = Calendar.getInstance();
		initDate(cal);
		/*
		 * Set Method   2001-2-31  ->2001-03-03  
		 */
	
		cal.set(Calendar.MONTH,Calendar.FEBRUARY);
		populateDate(cal);
		
		/*
		 * add Method  2001-2-31  ->2002-02-28    !!2002
		 */
		cal  = Calendar.getInstance();
		initDate(cal);
		cal.add(Calendar.MONTH,13);
		populateDate(cal);
		
		/*
		 * roll  Method  2001-2-31  ->2001-02-28  !!2001 As Modified Filed Month is less than YEAR
		 */
		cal  = Calendar.getInstance();
		initDate(cal);
		cal.roll(Calendar.MONTH,13);
		populateDate(cal);
		
		
		Date d = new Date();
		populateDate(d);
		
		d= new SimpleDateFormat("yyyy-MM-dd").parse("2001-01-09");
		populateDate(d);
		
		/*
		 * 关于格式:SimpleDateFormat
		 * 
		 */
		
	}
	
	
	public static void  initDate(Calendar cal){
		
		
		cal.clear();
		cal.set(Calendar.YEAR,2001);
		cal.set(Calendar.MONTH,Calendar.JANUARY);
		cal.set(Calendar.DAY_OF_MONTH,31);
		populateDate(cal);
		
	}
	
	
	public static void populateDate(Calendar cal){
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
		System.out.println(sf.format(cal.getTime()));
	}

	
	public static void populateDate(Date d){
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
		System.out.println(sf.format(d));
	}

 

java.text 
类 SimpleDateFormat
java.lang.Object
  java.text.Format
      java.text.DateFormat
          java.text.SimpleDateFormat
所有已实现的接口: 
Serializable, Cloneable 

--------------------------------------------------------------------------------

public class SimpleDateFormatextends DateFormatSimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。它允许进行格式化(日期 -> 文本)、分析(文本 -> 日期)和规范化。 

SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过 DateFormat 中的 getTimeInstance、getDateInstance 或 getDateTimeInstance 来新的创建日期-时间格式化程序。每一个这样的类方法都能够返回一个以默认格式模式初始化的日期/时间格式化程序。可以根据需要使用 applyPattern 方法来修改格式模式。有关使用这些方法的更多信息,请参阅 DateFormat。 

日期和时间模式
日期和时间格式由日期和时间模式 字符串指定。在日期和时间模式字符串中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行解释。"''" 表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在分析时与输入字符串进行匹配。 

定义了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留): 

字母  日期或时间元素  表示  示例  
G  Era 标志符  Text  AD  
y  年  Year  1996; 96  
M  年中的月份  Month  July; Jul; 07  
w  年中的周数  Number  27  
W  月份中的周数  Number  2  
D  年中的天数  Number  189  
d  月份中的天数  Number  10  
F  月份中的星期  Number  2  
E  星期中的天数  Text  Tuesday; Tue  
a  Am/pm 标记  Text  PM  
H  一天中的小时数(0-23)  Number  0  
k  一天中的小时数(1-24)  Number  24  
K  am/pm 中的小时数(0-11)  Number  0  
h  am/pm 中的小时数(1-12)  Number  12  
m  小时中的分钟数  Number  30  
s  分钟中的秒数  Number  55  
S  毫秒数  Number  978  
z  时区  General time zone  Pacific Standard Time; PST; GMT-08:00  
Z  时区  RFC 822 time zone  -0800  

模式字母通常是重复的,其数量确定其精确表示: 
Text: 对于格式化来说,如果模式字母的数量大于或等于 4,则使用完全形式;否则,在可用的情况下使用短形式或缩写形式。对于分析来说,两种形式都是可接受的,与模式字母的数量无关。 
Number: 对于格式化来说,模式字母的数量是最小的数位,如果数位不够,则用 0 填充以达到此数量。对于分析来说,模式字母的数量被忽略,除非必须分开两个相邻字段。 
Year: 对于格式化来说,如果模式字母的数量为 2,则年份截取为 2 位数,否则将年份解释为 number。 
对于分析来说,如果模式字母的数量大于 2,则年份照字面意义进行解释,而不管数位是多少。因此使用模式 "MM/dd/yyyy",将 "01/11/12" 分析为公元 12 年 1 月 11 日。 

在分析缩写年份模式("y" 或 "yy")时,SimpleDateFormat 必须相对于某个世纪来解释缩写的年份。这通过将日期调整为 SimpleDateFormat 实例创建之前的 80 年和之后 20 年范围内来完成。例如,在 "MM/dd/yy" 模式下,如果 SimpleDateFormat 实例是在 1997 年 1 月 1 日创建的,则字符串 "01/11/12" 将被解释为 2012 年 1 月 11 日,而字符串 "05/04/64" 将被解释为 1964 年 5 月 4 日。在分析时,只有恰好由两位数字组成的字符串(如 Character.isDigit(char) 所定义的)被分析为默认的世纪。其他任何数字字符串将照字面意义进行解释,例如单数字字符串,3 个或更多数字组成的字符串,或者不都是数字的两位数字字符串(例如"-1")。因此,在相同的模式下, "01/02/3" 或 "01/02/003" 解释为公元 3 年 1 月 2 日。同样,"01/02/-3" 分析为公元前 4 年 1 月 2 日。 

Month: 如果模式字母的数量为 3 或大于 3,则将月份解释为 text;否则解释为 number。 
General time zone: 如果时区有名称,则将它们解释为 text。对于表示 GMT 偏移值的时区,使用以下语法: 
     GMTOffsetTimeZone:
             GMT Sign Hours : Minutes
     Sign: one of
             + -
     Hours:
             Digit
             Digit Digit
     Minutes:
             Digit Digit
     Digit: one of
             0 1 2 3 4 5 6 7 8 9Hours 必须在 0 到 23 之间,Minutes 必须在 00 到 59 之间。格式是与语言环境无关的,并且数字必须取自 Unicode 标准的 Basic Latin 块。 
对于分析来说,RFC 822 time zones 也是可接受的。 

RFC 822 time zone: 对于格式化来说,使用 RFC 822 4-digit 时区格式: 
     RFC822TimeZone:
             Sign TwoDigitHours Minutes
     TwoDigitHours:
             Digit DigitTwoDigitHours 必须在 00 和 23 之间。其他定义请参阅 general time zones。 
对于分析来说,general time zones 也是可接受的。 

SimpleDateFormat 还支持本地化日期和时间模式 字符串。在这些字符串中,以上所述的模式字母可以用其他与语言环境有关的模式字母来替换。SimpleDateFormat 不处理除模式字母之外的文本本地化;而由类的客户端来处理。 

示例
以下示例显示了如何在美国语言环境中解释日期和时间模式。给定的日期和时间为美国太平洋时区的本地时间 2001-07-04 12:08:56。 
日期和时间模式  结果  
"yyyy.MM.dd G 'at' HH:mm:ss z"  2001.07.04 AD at 12:08:56 PDT  
"EEE, MMM d, ''yy"  Wed, Jul 4, '01  
"h:mm a"  12:08 PM  
"hh 'o''clock' a, zzzz"  12 o'clock PM, Pacific Daylight Time  
"K:mm a, z"  0:08 PM, PDT  
"yyyyy.MMMMM.dd GGG hh:mm aaa"  02001.July.04 AD 12:08 PM  
"EEE, d MMM yyyy HH:mm:ss Z"  Wed, 4 Jul 2001 12:08:56 -0700  
"yyMMddHHmmssZ"  010704120856-0700  
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"  2001-07-04T12:08:56.235-0700  

同步
日期格式是不同步的。建议为每个线程创建独立的格式实例。如果多个线程同时访问一个格式,则它必须是外部同步的。 



另请参见:
Java Tutorial, Calendar, TimeZone, DateFormat, DateFormatSymbols, 序列化表格

--------------------------------------------------------------------------------

 

分享到:
评论

相关推荐

    js date转String 日期字符串转换

    ### JavaScript Date对象转换为字符串 在JavaScript中,`Date`对象提供了多种方法来获取和设置日期及时间。本文将详细介绍如何将`Date`对象转换成字符串格式,这对于数据展示、存储以及传输等场景非常有用。 #### ...

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式.docx

    ### Java.util.Date与Java.sql.Date互转及字符串转换为日期时间格式 #### 一、Java.util.Date与Java.sql.Date的基本概念 在Java编程语言中,处理日期和时间时经常使用到`java.util.Date`和`java.sql.Date`这两个类...

    Date类型数据转换

    它可以将String类型的日期字符串转换为Date类型的日期对象,也可以将Date类型的日期对象转换为String类型的日期字符串。在本文中,我们将详细介绍Date类型数据转换的使用方法和相关知识点。 String与Date类型转换 ...

    js string转date(js字符串转换成日期,代码调试通)

    js string转date,js字符串转换成日期,此代码支持将datetime(年月日小时分秒格式)转换为js的Date类型,程序已调试并支持在HTML中运行、代码请见附件。

    一个long型与Date型时间转换工具

    此外,考虑到"转换"这一标签,TimeUtil可能还提供了日期和时间的其他转换功能,如将Date转换为其他常见格式(如"yyyy-MM-dd HH:mm:ss"),或将字符串日期转换为Date对象。这些功能可以极大地提高开发和测试的效率,...

    date与long型转换工具

    3. **转换过程**: - **Date转Long**:要将Date对象转换为long类型,可以调用Date对象的`getTime()`方法。例如:`long timestamp = myDate.getTime();` - **Long转Date**:相反,如果有一个long类型的毫秒值,想要...

    js处理java后台传过来的date对象并转换成指定格式的字符串

    js处理java后台传过来的date对象并转换成指定格式的字符串,亲测可用

    时间__DATE__字符串转化为YYMMDD格式

    预处理中__DATE__中的"Aug 27 2013"格式的时间转换为yymmdd格式。

    date和字符串的转换

    /** * This class is converts a java.util.Date to a String * and a String to a java.util.Date. * * @author <a href="mailto:matt@raibledesigns.com">Matt Raible */

    util包里的Date类转换为sql包里的Date

    如果需要将日期值以字符串形式处理,可以先将`java.util.Date`转换为字符串,然后再将字符串转换为`java.sql.Date`。这通常涉及到使用`SimpleDateFormat`类来格式化日期。 **示例代码**: ```java import java.text...

    String与date的转换

    在Java开发中,字符串(String)与日期(Date)之间的转换是一项常见的需求。例如,在处理用户输入的数据、解析文本文件或与数据库交互时,通常需要将字符串转换为日期对象进行进一步的操作,如日期计算、排序等;相反地...

    js字符串日期yyyy-MM-dd转化为date示例代码

    最近遇到一个问题,就是获取表单中的日期往后台通过json方式传的时候,遇到Date.parse(str)函数在ff下报错: NAN 找了些资料,发现是由于Date.parse()函数对日期格式有要求:详细参考 Date.parse函数 对于js操作日期: ...

    javascript转换日期字符串为Date日期对象的方法.docx

    ### JavaScript 转换日期字符串为 Date 日期对象的方法 在 JavaScript 开发中,处理日期是非常常见的需求之一。很多时候,我们需要将用户输入或其他来源得到的日期字符串转换为 `Date` 对象,以便进行进一步的计算...

    utilDate和sqlDate区别、转换及应用

    1. 将日期字符串转换为`java.util.Date`,可以使用`SimpleDateFormat`类解析日期字符串: ```java String dateString = "2012-10-11"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); try { Date...

    java的Date类型转换成MySQL的DateTime类型.docx

    3. **字符串操作**:使用 `substring` 方法从 `Date` 对象转换后的字符串中提取年、月、日、时、分、秒等信息,并按照 MySQL 的格式重新组合。 4. **输出结果**:在主方法中创建一个当前日期时间的 `Date` 对象,并...

    String和Date的转换

    首先,`String`到`Date`的转换通常涉及解析一个按照特定格式的日期字符串。`SimpleDateFormat`是`DateFormat`的一个具体实现,用于格式化和解析日期。以下是一个例子: ```java import java.text.SimpleDateFormat;...

    有关日期Date 和String型相互转换

    在Java编程语言中,日期(Date)对象和字符串(String)之间的转换是常见的操作。日期对象用于存储和处理时间信息,而字符串则常用于显示日期或读取用户输入。了解如何在两者之间进行转换对于编写涉及日期处理的程序...

    Date日期时间 各种转换

    ### Date 日期时间的各种转换详解 #### 概述 在Java开发中,处理日期与时间是常见的需求之一。本文将详细介绍如何使用Java进行日期时间的转换,并解释代码中涉及的关键概念和技术点。通过本篇文章,您将能够掌握...

    Timestamp与Date互转.docx

    在这种情况下,我们可以使用SimpleDateFormat类来格式化Date类型,然后使用valueOf()方法将格式化后的字符串转换为Timestamp类型,如下所示: ```java SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH...

Global site tag (gtag.js) - Google Analytics