java 日期和字符串转换

日期转字符串

假如把今天的日期转成字符串可用 String str = sdf.format(new Date());
这个字符串内容的格式类似2018-11-08 19:20:00。透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2017年7月10日,我们可以这么写:

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

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

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

字符串转日期

2017-12-08 19:20:00 要把它转成日期,可以用 Date date = sdf.parse( " 2017-12-08 19:20:00 " );

知识点

API:SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进来!
用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );
这一行最重要,它确立了转换的格式,yyyy是完整的公元年,MM是月份,dd是日期,至于HH:mm:ss,为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小时制,而hh是12小时制。

示例

public class DateTest {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String date = simpleDateFormat.format(new Date());
        System.out.println(date);//日期转字符串

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date1 = dateFormat.parse("2018-11-05 10:37:21");
        System.out.println(date1);//字符串转日期
    }
}

小结

可以看出:
不论是字符串转日期,还是日期转字符串,

  • 首先要做的都是确定格式,new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”),日期转字符串是确定输出的显示格式,字符串转日期是确定字符串的匹配格式
  • 日期转字符串: simpleDateFormat.format(new Date());
  • 字符串转日期:simpleDateFormat.parse(“2018-11-05 10:37:21”);
  • 二者用的方法不同。

你可能感兴趣的:(每日一结,java)