-3

这是我在 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# 中一样,年份是当前年份。是否可以有一个代码,就像我在我的 c# 代码中尝试过的那样将其传输到 Java?

希望能取得好成绩。谢谢

4

4 回答 4

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

将给出当前年份

于 2013-07-22T13:56:38.227 回答
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");
于 2013-07-22T14:00:05.973 回答
0

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

DateFormat dateFormat = new SimpleDateFormat("MMM dd yyyy");
于 2013-07-22T13:55:02.367 回答
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);
于 2013-07-22T13:57:23.853 回答