Java tutorial
//package com.java2s; /* * Copyright (C) 2003-2009 JNode.org * 2009,2010 Matthias Treydte <mt@waldheinz.de> * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; If not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ import java.util.Calendar; public class Main { /** * Decode a 16-bit encoded DOS date/time into a java date/time. * * @param dosDate * @param dosTime * @return long */ public static long decodeDateTime(int dosDate, int dosTime) { final Calendar cal = Calendar.getInstance(); cal.set(Calendar.MILLISECOND, 0); cal.set(Calendar.SECOND, (dosTime & 0x1f) * 2); cal.set(Calendar.MINUTE, (dosTime >> 5) & 0x3f); cal.set(Calendar.HOUR_OF_DAY, dosTime >> 11); cal.set(Calendar.DATE, dosDate & 0x1f); cal.set(Calendar.MONTH, ((dosDate >> 5) & 0x0f) - 1); cal.set(Calendar.YEAR, 1980 + (dosDate >> 9)); return cal.getTimeInMillis(); } }