人类可读日期日期的json显示比实际日期少一个

时间:2015-04-23 11:44:57

标签: android json date

我将json日期转换为人类可读日期,但它显示的实际日期少于实际日期。一世 使用此代码转换它:

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            Calendar calendar = Calendar.getInstance();
            Long timeInMillis =    Long.valueOf(AttendanceModelList.get(position).getEmpdate());
            calendar.setTimeInMillis(timeInMillis);
            Date date=new Date(timeInMillis);
            viewHolder.textemployeedate.setText(df.format(date));

请帮忙

1 个答案:

答案 0 :(得分:1)

你说是摘要:

  

当您尝试时,您的日历日期比预期的少一天   将类型为TimeZone.getDefault()的全局时间戳解释为日历   日期。

由于时区效应或午夜变化,可能会发生这种现象。在查看技术解决方案之前,您必须问自己:

  • 使用java.util.Date d = ...; // from your JSON-timeInMillis? SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String tz = "Asia/Kolkata"; // or any other valid tz id sdf.setTimeZone(TimeZone.getTimeZone(tz)); System.out.println(sdf.format(d));
  • 的默认(系统)时区是什么?
  • 您是否在没有预期时区的服务器上运行代码?
  • 您希望在哪个时区查看日历日期? (与您预期的“实际”日期相关的时区)

如何指定时区?

private var assetLoader:Loader = new Loader();