src/main/scala/net/tz/lift/util/DateExtension.scala
author Tomas Zeman <tzeman@volny.cz>
Tue, 29 Mar 2011 13:08:26 +0200
changeset 1 05d8eaf4c78b
permissions -rw-r--r--
DateExtension fix
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
/*
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
 * Refactored from net.liftweb.util.TimeHelpers.scala, which is
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
 *
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
 * Copyright 2006-2011 WorldWide Conferencing, LLC and
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
 *
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
 * Licensed under the Apache License, Version 2.0 (the "License");
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
 * you may not use this file except in compliance with the License.
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
 * You may obtain a copy of the License at
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
 *
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
 *     http://www.apache.org/licenses/LICENSE-2.0
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
 *
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
 * Unless required by applicable law or agreed to in writing, software
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
 * distributed under the License is distributed on an "AS IS" BASIS,
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
 * See the License for the specific language governing permissions and
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
 * limitations under the License.
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
 */
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
package net.tz.lift.util
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
import java.util.{Calendar, Date}
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    21
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    22
/**
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    23
 * Fixed version of DateExtension (from
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    24
 * net.liftweb.util.TimeSpan.DateExtension).
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    25
 */
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    26
class DateExtension(d: Date) {
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    27
  /** @returns a Date object starting at 00:00 from date */
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    28
  def noTime = {
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    29
    val calendar = Calendar.getInstance
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    30
    calendar.setTime(d)
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    31
    calendar.set(Calendar.HOUR_OF_DAY, 0)
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    32
    calendar.set(Calendar.MINUTE, 0)
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    33
    calendar.set(Calendar.SECOND, 0)
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    34
    calendar.set(Calendar.MILLISECOND, 0)
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    35
    calendar.getTime
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    36
  }
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    37
}
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    38
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    39
object DateExtension {
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    40
  implicit def date2dateExtension(d: Date): DateExtension =
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    41
    new DateExtension(d)
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    42
}
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    43
05d8eaf4c78b DateExtension fix
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    44
// vim: set ts=2 sw=2 et: