以yyyy-MM-dd hh.mm.ss格式获取当前日期时间

Cod*_*Med 4 java

我有一个应用程序,它总是只在一个时区运行,所以我不需要担心时区之间的转换.但是,必须始终按以下格式打印日期时间:

yyyy-MM-dd hh.mm.ss 
Run Code Online (Sandbox Code Playgroud)

以下代码无法打印正确的格式:

public void setCreated(){
    DateTime now = new org.joda.time.DateTime();
    String pattern = "yyyy-MM-dd hh.mm.ss";
    created  = DateTime.parse(now.toString(), DateTimeFormat.forPattern(pattern));
    System.out.println("''''''''''''''''''''''''''' created is: "+created);
}  
Run Code Online (Sandbox Code Playgroud)

setCreated()方法产生以下输出:

"2013-12-16T20:06:18.672-08:00"
Run Code Online (Sandbox Code Playgroud)

如何更改setCreated()中的代码,以便打印出以下代码:

"2013-12-16 20:06:18"
Run Code Online (Sandbox Code Playgroud)

Sot*_*lis 10

你没有解析任何东西,你正在格式化它.你需要使用DateTimeFormatter#print(ReadableInstant).

DateTime now = new org.joda.time.DateTime();
String pattern = "yyyy-MM-dd hh.mm.ss";
DateTimeFormatter formatter = DateTimeFormat.forPattern(pattern);
String formatted = formatter.print(now);
System.out.println(formatted);
Run Code Online (Sandbox Code Playgroud)

打印

2013-12-16 11.13.24
Run Code Online (Sandbox Code Playgroud)

这与您的格式不符,但我的基础是您的代码,而不是您的预期输出.

  • @CodeMed哦,那我相信你有一个误会."DateTime","Date"或任何时态对象都没有格式.输出时给它一个文本格式."DateTime"表示时间线上的精确点,但仅限于毫秒的精度 (2认同)