java字符串日期格式化
⑴ 介绍String 字符串中日期格式化方法
【实例描述】
在输出日期信息时,经常需要输出不同格式的日期格式。本实例介绍了String 字符串中日期格式化方法,使用不同的方式输出String 类的日期格式参数值,组合这些值实现特殊格式的日期字符串。实例的运行效果如图4.10 所示。
【实现过程】
在Eclipse 中新建项目DateString,并在其中创建一个DateString.java 文件。在该类的主方法中通过实例化的方法对当前日期进行实例化,然后再通过各种format()方法格式化today 日期对象。核心代码如下所示:
public class DateString {public static void main(String[] args) {Date today = new Date();// 格式化后的字符串为月份的英文缩写String a = String.format(Locale.US, "%tb", today);System.out.println("格式化后的字符串为月份的英文缩写: " + a);// 格式化后的字符串为月份的英文全写String b = String.format(Locale.US, "%tB", today);System.out.println("格式化后的字符串为月份的英文缩写: " + b);// 格式化后的字符串为星期(如:星期一)String c = String.format("%ta", today);System.out.println("月格式化后的字符串为星期: " + c);// 格式化后的字符串为星期(如:星期一)String d = String.format("%tA", today);System.out.println("格式化后的字符串为星期: " + d);// 格式化后的字符串为4 位的年份值String e = String.format("%tY", today);System.out.println("格式化后的字符串为4 位的年份值: " + e);// 格式化后的字符串为2 位的年份值String f = String.format("%ty", today);System.out.println("格式化后的字符串为2 位的年份值: " + f);// 格式化后的字符串为2 位的月份值String g = String.format("%tm", today);System.out.println("格式化后的字符串为2 位的月份值: " + g);// 格式化后的字符串为2 位的日期值String h = String.format("%td", today);System.out.println("格式化后的字符串为2 位的日期值: " + h);}}
【代码解析】
使用String 类的format()方法不但可以完成日期的格式化,也可以实现时间的格式化。时间的格式化转换符要比日期转换符更多、更准确,它甚至可以将时间格式化为时、分、秒、毫秒。
【知识扩展】
在深入使用字符串之前,有一个概念一定要理解,那就是字符串是不可变的对象。理解了这个概念,对后面熟练使用字符串有很大的帮助。字符串的不可变性,意味着每当对字符串进行操作时,都将产生一个新的字符串对象,如果频繁的操作字符串对象,会在托管堆中产生大量的无用字符串,增加垃圾回收器的压力,从而造成系统资源的浪费。
⑵ java中怎么格式化日期
你可以用String类的format方法,例如: System.out.println(String.format("%ty年%<tm月%<td日",date));下面是一个完整的例子。
publicclassFormatDateTest
{
publicstaticvoidmain(String[]args)
{
Datedate=newDate(System.currentTimeMillis());
System.out.println(String.format("%ty年%<tm月%<td日",date));
System.out.println(String.format("%tY年%<tm月%<td日",date));
System.out.println(String.format("%tY年%<tm月%<td日%<tH时%<tM分%<tS秒",date));
}
}
%ty是格式化年,%tm是格式化年,%td是格式化天,%tH格式化发时,%tM格式化分,%tS格式化秒。另外%tY是把年格式化为四位形式,如1999,而不是99。%tI是把时格式化为12小时制。格式化字符串中的<是表示格式化同一个日期,当然你也可以这么写:System.out.println(String.format("%ty年%tm月%td日",date,date,date));
⑶ java怎么把字符串转换成日期类型
SimpleDateFormat类
有个parse方法
public Date parse(Stringtext, ParsePositionpos)
解析字符串的文本,生成Date。
此方法试图解析从pos给定的索引处开始的文本。如果解析成功,则将pos的索引更新为所用最后一个字符后面的索引(不必对直到字符串结尾的所有字符进行解析),并返回解析得到的日期。更新后的pos可以用来指示下次调用此方法的起始点。如果发生错误,则不更改pos的索引,并将pos的错误索引设置为发生错误处的字符索引,并且返回 null。
指定者:
类DateFormat中的parse
参数:
text- 应该解析其中一部分的String。
pos- 具有以上所述的索引和错误索引信息的ParsePosition对象。
返回:
从字符串进行解析的Date。如果发生错误,则返回 null。
抛出:
NullPointerException- 如果text或pos为 null。
另请参见:
DateFormat.setLenient(boolean)
⑷ java中,字符串类型的时间数据怎样转换成date类型
将字符串类型的时间转换成date类型可以使用SimpleDateFormat来转换,具体方法如下:
1、定义一个字符串类型的时间;
2、创建一个SimpleDateFormat对象并设置格式;
3、最后使用SimpleDateFormat的parse方法将String类型的时间转换成Date类型的时间。
具体代码如下:
Stringstring="2014-3-17";
SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-dd");
Datedate=null;
try{
date=dateFormat.parse(string);
System.out.println(date.toLocaleString().split("")[0]);//切割掉不要的时分秒数据
}catch(ParseExceptione){
e.printStackTrace();
}
介绍一下SimpleDateFormat:SimpleDateFormat是Java中一个非常常用的类,该类用来对
日期字符串进行解析和格式化输出。
⑸ 昆明Java培训:介绍String字符串中日期格式化方法
【实例描述】在输出日期信息时,经常需要输出不同格式的日期格式。 ⑹ java指定的字符串日期格式化及计算
本实例介绍了String字符串中日期格式化方法,使用不同的方式输出String类的日期格式参数值,组合这些值实现特殊格式的日期字符串。
实例的运行效果如图4.10所示。
【实现过程】在Eclipse中新建项目DateString,并在其中创建一个DateString.java文件。
在该类的主方法中通过实例化的方法对当前日期进行实例化,然后再通过各种format()方法格式化today日期对象。
核心代码如下所示:
时间的格式化转换符要比日期转换符更多、更准确,它甚至可以将时间格式化为时、分、秒、毫秒。
【知识扩展】在深入使用字符串之前,有一个概念一定要理解,那就是字符串是不可变的对象。
理解了这个概念,对后面熟练使用字符串有很大的帮助。
字符串的不可变性,意味着每当对字符串进行操作时,都将产生一个新的字符串对象,如果频繁的操作字符串对象,会在托管堆中产生大量的无用字符串,增加垃圾回收器的压力,从而造成系统资源的浪费。
packagetimeutil;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassTimeTest{
publicstaticvoidmain(String[]args){
Strings1="20151117190936";
Strings2="20090915-17:20:12";
try{
Datedate1=newSimpleDateFormat("yyyyMMddHHmmss").parse(s1);
//输出格式
System.out.println("=======解析字符串1======");
System.out.println(newSimpleDateFormat("yyyy/MM/ddHH:mm:ss").format(date1));
System.out.println(newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(date1));
System.out.println("=======解析字符串2======");
Datedate2=newSimpleDateFormat("yyyyMMdd-HH:mm:ss").parse(s2);
System.out.println(newSimpleDateFormat("yyyy/MM/ddHH:mm:ss").format(date2));
System.out.println(newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(date2));
}catch(ParseExceptione){
e.printStackTrace();
}
}
}
⑺ 在java中如何把字符串转换成时间格式
方法一:
public static void main(String[] args) throws Exception{
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2005-06-09");
String now = new SimpleDateFormat("yyyy年MM月dd日").format(date);
System.out.println(now);
}
输出结果:2005年06月09日
方法二:
public class bb {
public static void main(String[] args) {
// TODO Auto-generated method stub
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
String dateString = "20071128175545";
try {
Date date = df.parse(dateString);
System.out.println(df.format(date));
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
(7)java字符串日期格式化扩展阅读
Java指定了一些可访问的修饰符如:private、protected、public,任何方法或变量都可以声明为public,Java可以从该类之外的地方访问。因为main方法是公共的,JVM就可以轻松的访问执行它。
在main里面args[]就是两个长度的数组:value1存在args[0]中,value2存在args[1]中。
args[0]存储的是命令,其后才是参数。
String args[ ]或者String[ ] args表示给主方法传一个字符串数组。
而args是一个字符串数组的变量名,不是关键字,是arguments的缩写,只是一个默认名,一般都习惯性照写。
例如:
class Example{
public static void main(String args[ ]){
System.out.println("This is a simple Java program.");
}
}
⑻ Java中怎么把字符串转换成日期格式啊
方法一:
public static void main(String[] args) throws Exception{
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2005-06-09");
String now = new SimpleDateFormat("yyyy年MM月dd日").format(date);
System.out.println(now);
}
输出结果:2005年06月09日
方法二:
public class bb {
public static void main(String[] args) {
// TODO Auto-generated method stub
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
String dateString = "20071128175545";
try {
Date date = df.parse(dateString);
System.out.println(df.format(date));
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
(8)java字符串日期格式化扩展阅读:
Java指定了一些可访问的修饰符如:private、protected、public,任何方法或变量都可以声明为public,Java可以从该类之外的地方访问。因为main方法是公共的,JVM就可以轻松的访问执行它。
在main里面args[]就是两个长度的数组:value1存在args[0]中,value2存在args[1]中。
args[0]存储的是命令,其后才是参数。
String args[ ]或者String[ ] args表示给主方法传一个字符串数组。
而args是一个字符串数组的变量名,不是关键字,是arguments的缩写,只是一个默认名,一般都习惯性照写。
例如:
class Example{
public static void main(String args[ ]){
System.out.println("This is a simple Java program.");
}
}
⑼ Java格式化字符串日期
packagetest;
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassDateStyle{
publicstaticvoidmain(String[]args){
SimpleDateFormatdateformat1=newSimpleDateFormat(
"yyyyMMddHHmmss");
Datedate=newDate();
date.setYear(2014-1900);
date.setMonth(3-1);
date.setDate(29);
date.setHours(19);
date.setMinutes(13);
date.setSeconds(0);
Stringa1=dateformat1.format(date);
System.out.println("时间2:"+a1);
}
}
效果:
时间2:20140329191300
希望能帮到你。
或者因为那个方法都过时了,你可以用Calendar的方法,代码如下:
packagetest;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
publicclassDateStyle{
publicstaticvoidmain(String[]args){
SimpleDateFormatdateformat1=newSimpleDateFormat("yyyyMMddHHmmss");
Calendarc=dateformat1.getCalendar();
c.set(2013,14,29,19,13,0);
Dated=c.getTime();
System.out.println(d);
Stringa1=dateformat1.format(d);
System.out.println("时间2:"+a1);
}
}
效果:
SatMar2919:13:00CST2014
时间2:20140329191300
望采纳。
⑽ java字符串格式转换成日期格式
你执行了sdf.parse(st); 后就已经是date了 你要去和其他时间做比较的话可以直接比较
importjava.text.DateFormat;
importjava.text.SimpleDateFormat;
importjava.util.Date;
/**
*
*@authorhp
*/
publicclasstest{
publicstaticvoidmain(Stringargs[]){
inti=compare_date("1995-11-1215:21","1999-12-1109:59");
System.out.println("i=="+i);
}
publicstaticintcompare_date(StringDATE1,StringDATE2){
DateFormatdf=newSimpleDateFormat("yyyy-MM-ddhh:mm");
try{
Datedt1=df.parse(DATE1);
Datedt2=df.parse(DATE2);
if(dt1.getTime()>dt2.getTime()){
System.out.println("dt1在dt2前");
return1;
}elseif(dt1.getTime()<dt2.getTime()){
System.out.println("dt1在dt2后");
return-1;
}else{
return0;
}
}catch(Exceptionexception){
exception.printStackTrace();
}
return0;
}
}