这是我在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吗?
希望得到一个好结果。感谢
答案 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);