用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );

这一行最重要,它确立了转换的格式,yyyy是完整的公元年,MM是月份,dd是日期,至于HH:mm:ss

就不需要我再解释了吧!

PS:为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小

时制,而hh是12小时制。

1.字符串转日期
2008-07-10 19:20:00 要把它转成日期,可以用 Date date = sdf.parse( " 2008-07-10 19:20:00 " );

2.日期转字符串

假如把今天的日期转成字符串可用 String str = sdf.format(new Date());

这个字符串内容的格式类似2008-07-10 19:20:00。

透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2008

年7月10日,我们可以这么写:

SimpleDateFormat sdf = new SimpleDateFormat( " yyyy年MM月dd日 " );

String str = sdf.format(new Date());

str便会依照我们设定的格式输出了。

附编写好的一个简单实例:

 import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat; public class ConvertDemo { /**
* 日期转换成字符串
* @param date
* @return str
*/
public static String DateToStr(Date date) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = format.format(date);
return str;
} /**
* 字符串转换成日期
* @param str
* @return date
*/
public static Date StrToDate(String str) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = format.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
} public static void main(String[] args) { Date date = new Date();
System.out.println("日期转字符串:" + ConvertDemo.DateToStr(date));
System.out.println("字符串转日期:" + ConvertDemo.StrToDate(ConvertDemo.DateToStr(date))); } } Java中日期格式转换 /**
* 字符串转换为java.util.Date<br>
* 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'<br>
* yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'<br>
* yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'<br>
* yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00' <br>
* @param time String 字符串<br>
* @return Date 日期<br>
*/
public static Date stringToDate(String time){
SimpleDateFormat formatter;
int tempPos=time.indexOf("AD") ;
time=time.trim() ;
formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z");
if(tempPos>-1){
time=time.substring(0,tempPos)+
"公元"+time.substring(tempPos+"AD".length());//china
formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z");
}
tempPos=time.indexOf("-");
if(tempPos>-1&&(time.indexOf(" ")<0)){
formatter = new SimpleDateFormat ("yyyyMMddHHmmssZ");
}
else if((time.indexOf("/")>-1) &&(time.indexOf(" ")>-1)){
formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss");
}
else if((time.indexOf("-")>-1) &&(time.indexOf(" ")>-1)){
formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
}
else if((time.indexOf("/")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){
formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a");
}
else if((time.indexOf("-")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){
formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a");
}
ParsePosition pos = new ParsePosition(0);
java.util.Date ctime = formatter.parse(time, pos); return ctime;
} /**
* 将java.util.Date 格式转换为字符串格式'yyyy-MM-dd HH:mm:ss'(24小时制)<br>
* 如Sat May 11 17:24:21 CST 2002 to '2002-05-11 17:24:21'<br>
* @param time Date 日期<br>
* @return String 字符串<br>
*/ public static String dateToString(Date time){
SimpleDateFormat formatter;
formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
String ctime = formatter.format(time); return ctime;
} /**
* 将java.util.Date 格式转换为字符串格式'yyyy-MM-dd HH:mm:ss a'(12小时制)<br>
* 如Sat May 11 17:23:22 CST 2002 to '2002-05-11 05:23:22 下午'<br>
* @param time Date 日期<br>
* @param x int 任意整数如:1<br>
* @return String 字符串<br>
*/
public static String dateToString(Date time,int x){
SimpleDateFormat formatter;
formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a");
String ctime = formatter.format(time); return ctime;
} /**
*取系统当前时间:返回只值为如下形式
*2002-10-30 20:24:39
* @return String
*/
public static String Now(){
return dateToString(new Date());
} /**
*取系统当前时间:返回只值为如下形式
*2002-10-30 08:28:56 下午
*@param hour 为任意整数
*@return String
*/
public static String Now(int hour){
return dateToString(new Date(),hour);
} /**
*取系统当前时间:返回值为如下形式
*2002-10-30
*@return String
*/
public static String getYYYY_MM_DD(){
return dateToString(new Date()).substring(0,10); } /**
*取系统给定时间:返回值为如下形式
*2002-10-30
*@return String
*/
public static String getYYYY_MM_DD(String date){
return date.substring(0,10); } public static String getHour(){
SimpleDateFormat formatter;
formatter = new SimpleDateFormat ("H");
String ctime = formatter.format(new Date());
return ctime;
} public static String getDay(){
SimpleDateFormat formatter;
formatter = new SimpleDateFormat ("d");
String ctime = formatter.format(new Date());
return ctime;
} public static String getMonth(){
SimpleDateFormat formatter;
formatter = new SimpleDateFormat ("M");
String ctime = formatter.format(new Date());
return ctime;
} public static String getYear(){
SimpleDateFormat formatter;
formatter = new SimpleDateFormat ("yyyy");
String ctime = formatter.format(new Date());
return ctime;
} public static String getWeek(){
SimpleDateFormat formatter;
formatter = new SimpleDateFormat ("E");
String ctime = formatter.format(new Date());
return ctime;
}

日期比较:

在JAVA中日期的计算与比较可以使用Date和DateFormat来解决,下面是一段示例代码:

 import java.text.*;
import java.util.*; public class Test{  public static void main(String[] args){
  try{
   Date date=new Date();
   DateFormat df=DateFormat.getDateTimeInstance();
   String now=df.format(date);
   System.out.println("现在时间:"+now);    System.out.println("现在时间是否在16:00之前:"+date.before(df.parse("2004-12-24 16:00:00")));
  }
  catch(ParseException e){System.out.print(e.getMessage());
  }
 }
}

查看更多点以下原贴网址:

(转自:http://wenku.baidu.com/link?url=t-ulNF0TZ3_5unuhBbU6topzg1ChyPbS75mNvM_M4-aZjnM38FisZ0XTBlhJrlXKgnhbSYKAE99W6WMI6zFFxQPMv9yqD__afoV7Gdb5Ivq)

android JAVA字符串转日期或日期转字符串(转)的更多相关文章

  1. Java "JSON中无分隔符日期字符串处理"

    Json 中日期类型数据处理,服务端传输的日期没有分隔符,一般格式就两种,[20151212121212]即yyyyMMddhhmmss和[121212]hhmmss import java.text ...

  2. java工具类(五)之日期格式字符串与日期实现互转

    JAVA字符串转日期或日期转字符串 项目开发过程中需要实现日期格式的字符串与日期进行互转,并进行日期的加减操作. Demo如下: package weiming.lmapp.utils; import ...

  3. java parse 带英文单词的日期字符串 转 date (转化新浪微博api返回的时间)

    拂晓风起 专注前端技术cocos2d.js.flash.html5,联系:kenkofox@qq.com.如果读者要找腾讯工作机会,请不吝推荐简历. 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔 ...

  4. Java判断字符串是否符合yyyyMMdd日期格式

    Java判断字符串是否符合yyyyMMdd日期格式 代码: /** * 判断参数的格式是否为“yyyyMMdd”格式的合法日期字符串 * */ public static boolean isVali ...

  5. java 获取 获取某年某月 所有日期(yyyy-mm-dd格式字符串)

    总结一些日期常用的代码,方便以后直接拿 <code> /** * java 获取 获取某年某月 所有日期(yyyy-mm-dd格式字符串) * @param year * @param m ...

  6. (转)Java字符串转日期或日期转字符串

    文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: SimpleDateFormat sdf = ...

  7. JAVA字符串转日期或日期转字符串【转】

    JAVA字符串转日期或日期转字符串[转] 文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: S ...

  8. java 日期格式化-- SimpleDateFormat 的使用。字符串转日期,日期转字符串

    日期和时间格式由 日期和时间模式字符串 指定.在 日期和时间模式字符串 中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素.文本可以使用单引 ...

  9. Java 基础【09】 日期类型

    java api中日期类型的继承关系 java.lang.Object --java.util.Date --java.sql.Date --java.sql.Time --java.sql.Time ...

随机推荐

  1. 《高可用MySQL》2 – 单机版MySQL主从配置

    这里搭建的主从是最简单的单一主从复制(即一个Master和一个slave,没有任何的热机备份和多slave),该主从结构的基本拓扑图如下所示: 建立基本的主从复制可以总结为以下三个基本步骤: 配置ma ...

  2. 通过angularjs的directive以及service来实现的列表页加载排序分页

    前两篇:(列表页的动态条件搜索,我是如何做列表页的)分别介绍了我们是如何做后端业务系统数据展示类的列表页以及动态搜索的,那么还剩下最重要的一项:数据展示.数据展示一般包含三部分: 数据列头 数据行 分 ...

  3. 初识Hibernate 缓存

    生活就像一杯咖啡,让你我慢慢的品尝,品尝它的苦涩和甘甜...... 一.什么是Hibernate缓存. 解析:白话来说就是缓存数据的容器 官方标准点缓存:是计算机领域的概念,它介于应用程序和永久性数据 ...

  4. Xdebug文档(一)基本特性

    基本属性(参数) xdebug.default_enable 类型: boolean,默认值: 1 这是xdebug的基本设置,默认在调试跟踪时显示错误信息.可以使用xdebug_disable()函 ...

  5. Eclipse中的Web项目自动部署到Tomcat

    原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写博客,现在感觉还是很有必要的,编程中每个人对于犯过的错误 ...

  6. 对比MS Test与NUnit Test框架

    前言: 项目中进行Unit Test时,肯定会用到框架,因为这样能够更快捷.方便的进行测试. .Net环境下的测试框架非常多,在这里只是对MS Test和NUnit Test进行一下比较, 因为这两个 ...

  7. ALV的颜色分为行的颜色、列的颜色和CELL的颜色

    ALV的颜色分为行的颜色.列的颜色和CELL的颜色.任务要求,将一定的Tabellenfeld 用黄色填充,也就是说CELL的颜色 DATA:ls_cellcolorTYPElvc_s_scol,co ...

  8. Understanding theory (1)

    Source: verysmartbrothas.com It has been confusing since my first day as a PhD student about theory ...

  9. No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386)

    今天在运行一个老ios项目的时候,突然报错:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VAL ...

  10. 功能源代码(扇形进度)及Delegate运用在开放事件中、UINavigationController的封装

    1:扇形进度视图及运用 首先先创建扇形的视图,传入进度值 #import <UIKit/UIKit.h> @interface LHProgressView : UIView @prope ...