无法从netflow记录中检索正确的时间和日期。

时间:2014-01-10 09:34:17

标签: java timestamp cisco netflow jflow

我使用jflow-0.3 [1]来收集和解码我从路由器收到的netflow记录。 nettrack.net.netflow.Flow.java类包含用于从接收的记录中解码必要数据的代码。我调用了它的getFirst()函数,它返回“此数据收集期开始时协调世界时(UTC)秒的时间。”[2]。然后我使用以下代码将其转换为日期时间格式。

  long seconds = getFirst();
  long millis = seconds * 1000;
  Date date = new Date(millis);
  SimpleDateFormat sdf = new SimpleDateFormat("EEEE,MMMM d,yyyy h:mm,a", Locale.ENGLISH);
  sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
  String formattedDate = sdf.format(date);
  System.out.println(formattedDate);

但是当我运行这个时,我观察到奇怪的结果,例如星期一,1970年3月2日星期一,4:21,PM,星期日,4月27日,25:4,上午4点,等等。 UTC值也从非常小的值(如300)变为非常大的值,如3154137089,这没有任何意义。这里有什么问题?我怎么解决这个问题?

  1. https://github.com/aptivate/netgraph/tree/master/jflow-0.3
  2. http://www.cisco.com/en/US/docs/net_mgmt/netflow_collection_engine/6.0/tier_one/user/guide/data.html

0 个答案:

没有答案