Example #1
0
 public void setTimestamp(java.io.RandomAccessFile ff) //throws tinySQLException
 {
     try
     {
         java.util.Calendar cal = java.util.Calendar.getInstance();
         cal.setTime(new java.util.Date());
         int dd = cal.get(java.util.Calendar.DAY_OF_MONTH);
         int mm = cal.get(java.util.Calendar.MONTH) + 1;
         int yy = cal.get(java.util.Calendar.YEAR);
         yy = yy % 100;          // Y2K problem: only 2 digits
         ff.seek(DATE_INDEX);
         ff.write(yy);
         ff.write(mm);
         ff.write(dd);
     }
     catch (Exception e)
     {
         throw new TinySQLException(e.getMessage());
     }
 }
Example #2
0
        /**
         * Convert a Date object to a DOS date/time field.
         *
         * <p>Stolen from InfoZip's <code>fileio.c</code></p>
         * @param t number of milliseconds since the epoch
         * @return the date as a byte array
         */
        public static byte[] toDosTime(long t)
        {
            java.util.Calendar c = java.util.Calendar.getInstance();
            c.setTimeInMillis(t);

            int year = c.get(java.util.Calendar.YEAR);

            if (year < 1980)
            {
                return(copy(DOS_TIME_MIN)); // stop callers from changing the array
            }
            int  month = c.get(java.util.Calendar.MONTH) + 1;
            long value = ((year - 1980) << 25)
                         | (month << 21)
                         | (c.get(java.util.Calendar.DAY_OF_MONTH) << 16)
                         | (c.get(java.util.Calendar.HOUR_OF_DAY) << 11)
                         | (c.get(java.util.Calendar.MINUTE) << 5)
                         | (c.get(java.util.Calendar.SECOND) >> 1);

            return(ZipLong.getBytes(value));
        }