用Java转换.ToDateTime

时间:2013-07-22 13:48:01

标签: c# java

这是我在c#中的代码。

DateTime gmtTime = Convert.ToDateTime(string.Format("{0} {1}", day[1], day[2])).Add(Convert.ToDateTime(time).TimeOfDay);

我在Java中尝试过的。

String month = "Jul";
        String day = "22";
        String gmtTime = String.format("%s %s", month, day);
        DateFormat df = new SimpleDateFormat("MMM dd");
        Date gmtDate = df.parse (gmtTime);

我进入Java的结果是1970年7月22日。当我将String转换为DateTime时,我怎样才能获得当前年份,就像当前年份一样。有可能像我在c#代码中尝试的那样将代码转移到Java吗?

希望得到一个好结果。感谢

4 个答案:

答案 0 :(得分:1)

 Calendar cal=Calendar.getInstance();
 int year=cal.get(Calendar.YEAR);
 System.out.println(year);

将给出当年

答案 1 :(得分:1)

更改这些行:

String gmtTime = String.format("%s %s", month, day);
DateFormat df = new SimpleDateFormat("MMM dd");

对此:

String gmtTime = String.format("%s %s %s", month, day, Calendar.getInstance().get(Calendar.YEAR));
DateFormat df = new SimpleDateFormat("MMM dd yyyy");

答案 2 :(得分:0)

尝试将年份添加到Java SimpledateFormat,请参阅此处使用的格式http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html#year

DateFormat dateFormat = new SimpleDateFormat("MMM dd yyyy");

答案 3 :(得分:0)

final Date currentTime = new Date();
final SimpleDateFormat sdf = new SimpleDateFormat("MMM d, yyyy hh:mm:ss a z");

// Set time zone  
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println("Current Time: " + sdf.format(currentTime));

这里只是格式化当前日期 -

final DateFormat reportDateFormat = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH);        
Date date = new Date();
String dateString = reportDateFormat.format(date);
System.out.println(dateString);