<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FJ2ME%2FDate</id>
		<title>Java/J2ME/Date - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FJ2ME%2FDate"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/J2ME/Date&amp;action=history"/>
		<updated>2026-04-22T05:05:25Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/J2ME/Date&amp;diff=7307&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/J2ME/Date&amp;diff=7307&amp;oldid=prev"/>
				<updated>2010-06-01T06:38:21Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:38, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/J2ME/Date&amp;diff=7306&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/J2ME/Date&amp;diff=7306&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:44Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Date Field ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*--------------------------------------------------&lt;br /&gt;
* Snooze.java&lt;br /&gt;
*&lt;br /&gt;
* Example from the book:     Core J2ME Technology&lt;br /&gt;
* Copyright John W. Muchow   http://www.CoreJ2ME.ru&lt;br /&gt;
* You may use/modify for any non-commercial purpose&lt;br /&gt;
*-------------------------------------------------*/&lt;br /&gt;
import java.util.*;&lt;br /&gt;
import javax.microedition.midlet.*;&lt;br /&gt;
import javax.microedition.lcdui.*;&lt;br /&gt;
import java.util.Timer;&lt;br /&gt;
import java.util.TimerTask;&lt;br /&gt;
public class Snooze extends MIDlet implements ItemStateListener, CommandListener&lt;br /&gt;
{&lt;br /&gt;
  private Display display;          // Reference to display object &lt;br /&gt;
  private Form fmMain;              // The main form&lt;br /&gt;
  private Command cmSnooze;         // Start the timer&lt;br /&gt;
  private Command cmReset;          // Reset to current date/time&lt;br /&gt;
  private Command cmExit;           // Exit the MIDlet&lt;br /&gt;
  private DateField dfSnoozeTime;   // How long to snooze&lt;br /&gt;
  private int dateIndex;            // Index of the DateField on the Form&lt;br /&gt;
  private Date currentTime;         // Current time...changes when pressing reset&lt;br /&gt;
  private Timer tmSnooze;           // The timer - keeps track of system time&lt;br /&gt;
  private SnoozeTimer ttSnooze;     // Called by the timer&lt;br /&gt;
  private boolean dateOK = false;   // Was the user input valid?&lt;br /&gt;
  &lt;br /&gt;
  public Snooze()&lt;br /&gt;
  {&lt;br /&gt;
    display = Display.getDisplay(this);&lt;br /&gt;
    // The main form&lt;br /&gt;
    fmMain = new Form(&amp;quot;When to sound the alarm:&amp;quot;);&lt;br /&gt;
    // Save today&amp;quot;s date&lt;br /&gt;
    currentTime = new Date();&lt;br /&gt;
    &lt;br /&gt;
    // DateField with todays date as a default&lt;br /&gt;
    dfSnoozeTime = new DateField(&amp;quot;&amp;quot;, DateField.DATE_TIME);&lt;br /&gt;
    dfSnoozeTime.setDate(currentTime);&lt;br /&gt;
    // All the commands/buttons&lt;br /&gt;
    cmSnooze = new Command(&amp;quot;Snooze&amp;quot;, Command.SCREEN, 1);&lt;br /&gt;
    cmReset = new Command(&amp;quot;Reset&amp;quot;, Command.SCREEN, 1);&lt;br /&gt;
    cmExit = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1);    &lt;br /&gt;
    &lt;br /&gt;
    // Add to form and listen for events&lt;br /&gt;
    dateIndex = fmMain.append(dfSnoozeTime);&lt;br /&gt;
    fmMain.addCommand(cmSnooze);&lt;br /&gt;
    fmMain.addCommand(cmReset);    &lt;br /&gt;
    fmMain.addCommand(cmExit);    &lt;br /&gt;
    fmMain.setCommandListener(this);&lt;br /&gt;
    fmMain.setItemStateListener(this);    &lt;br /&gt;
  }&lt;br /&gt;
  public void startApp ()&lt;br /&gt;
  {&lt;br /&gt;
    display.setCurrent(fmMain);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp()&lt;br /&gt;
  { }&lt;br /&gt;
  &lt;br /&gt;
  public void destroyApp(boolean unconditional)&lt;br /&gt;
  { }&lt;br /&gt;
  public void itemStateChanged(Item item)              &lt;br /&gt;
  {&lt;br /&gt;
    if (item == dfSnoozeTime)&lt;br /&gt;
    {&lt;br /&gt;
      // If the user selected date and/or time that is earlier &lt;br /&gt;
      // than today, set a flag. We are using getTime() &lt;br /&gt;
      // method of the Date  class, which returns the # of &lt;br /&gt;
      // milliseconds since January 1, 1970&lt;br /&gt;
      if (dfSnoozeTime.getDate().getTime() &amp;lt; currentTime.getTime())&lt;br /&gt;
        dateOK = false;&lt;br /&gt;
      else&lt;br /&gt;
        dateOK = true;&lt;br /&gt;
    }        &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  public void commandAction(Command c, Displayable s)&lt;br /&gt;
  {&lt;br /&gt;
    if (c == cmSnooze)&lt;br /&gt;
    {&lt;br /&gt;
      if (dateOK == false)&lt;br /&gt;
      {&lt;br /&gt;
        Alert al = new Alert(&amp;quot;Unable to set alarm&amp;quot;, &amp;quot;Please choose another date and time.&amp;quot;, null, null);&lt;br /&gt;
        al.setTimeout(Alert.FOREVER);&lt;br /&gt;
        al.setType(AlertType.ERROR);&lt;br /&gt;
        display.setCurrent(al);      &lt;br /&gt;
      }&lt;br /&gt;
      else&lt;br /&gt;
      {&lt;br /&gt;
        // Create a new timer&lt;br /&gt;
        tmSnooze = new Timer();&lt;br /&gt;
        ttSnooze = new SnoozeTimer();&lt;br /&gt;
        // Amount of time to delay&lt;br /&gt;
        long amount = dfSnoozeTime.getDate().getTime() - currentTime.getTime();&lt;br /&gt;
        tmSnooze.schedule(ttSnooze,amount);          &lt;br /&gt;
        // Remove the commands&lt;br /&gt;
        fmMain.removeCommand(cmSnooze);&lt;br /&gt;
        fmMain.removeCommand(cmReset);    &lt;br /&gt;
        &lt;br /&gt;
        // Remove the DateField&lt;br /&gt;
        fmMain.delete(dateIndex);&lt;br /&gt;
        &lt;br /&gt;
        // Change the Form message&lt;br /&gt;
        fmMain.setTitle(&amp;quot;Snoozing...&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    else if (c == cmReset)&lt;br /&gt;
    {&lt;br /&gt;
      // Reset to the current date/time&lt;br /&gt;
      dfSnoozeTime.setDate(currentTime = new Date());&lt;br /&gt;
    }&lt;br /&gt;
    else if (c == cmExit)&lt;br /&gt;
    {&lt;br /&gt;
      destroyApp(false);&lt;br /&gt;
      notifyDestroyed();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // Handle the timer task&lt;br /&gt;
  private class SnoozeTimer extends TimerTask&lt;br /&gt;
  {&lt;br /&gt;
    public final void run()&lt;br /&gt;
    {&lt;br /&gt;
      Alert al = new Alert(&amp;quot;Time to wake up!&amp;quot;);&lt;br /&gt;
      al.setTimeout(Alert.FOREVER);&lt;br /&gt;
      al.setType(AlertType.ALARM);&lt;br /&gt;
      AlertType.ERROR.playSound(display);&lt;br /&gt;
      display.setCurrent(al);       &lt;br /&gt;
      &lt;br /&gt;
      // Cancel this timer task&lt;br /&gt;
      cancel(); &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Date Today ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
//jad file (please verify the jar size)&lt;br /&gt;
/*&lt;br /&gt;
MIDlet-Name: DateToday&lt;br /&gt;
MIDlet-Version: 1.0&lt;br /&gt;
MIDlet-Vendor: MyCompany&lt;br /&gt;
MIDlet-Jar-URL: DateToday.jar&lt;br /&gt;
MIDlet-1: DateToday, , DateToday&lt;br /&gt;
MicroEdition-Configuration: CLDC-1.0&lt;br /&gt;
MicroEdition-Profile: MIDP-1.0&lt;br /&gt;
MIDlet-JAR-SIZE: 100&lt;br /&gt;
*/&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.DateField;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Form;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class DateToday extends MIDlet implements CommandListener {&lt;br /&gt;
  private Display display;&lt;br /&gt;
  private Form form = new Form(&amp;quot;Today&amp;quot;s Date&amp;quot;);&lt;br /&gt;
  private Date today = new Date(System.currentTimeMillis());&lt;br /&gt;
  private Command exit = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
  private DateField datefield = new DateField(&amp;quot;&amp;quot;, DateField.DATE_TIME);&lt;br /&gt;
  public DateToday() {&lt;br /&gt;
    display = Display.getDisplay(this);&lt;br /&gt;
    datefield.setDate(today);&lt;br /&gt;
    form.append(datefield);&lt;br /&gt;
    form.addCommand(exit);&lt;br /&gt;
    form.setCommandListener(this);&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    display.setCurrent(form);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command command, Displayable displayable) {&lt;br /&gt;
    if (command == exit) {&lt;br /&gt;
      destroyApp(false);&lt;br /&gt;
      notifyDestroyed();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KVM Calendar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Calendar;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
public class KVMCalendar {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Calendar cal = Calendar.getInstance();&lt;br /&gt;
    Date date = new Date();&lt;br /&gt;
    cal.setTime(date);&lt;br /&gt;
    int month = cal.get(Calendar.MONTH);&lt;br /&gt;
    int day = cal.get(Calendar.DAY_OF_MONTH);&lt;br /&gt;
    System.out.println(&amp;quot;Day is &amp;quot; + day + &amp;quot;, month is &amp;quot; + month);&lt;br /&gt;
    final long MILLIS_PER_DAY = 24 * 60 * 60 * 1000L;&lt;br /&gt;
    long offset = date.getTime();&lt;br /&gt;
    offset += 20 * MILLIS_PER_DAY;&lt;br /&gt;
    date.setTime(offset);&lt;br /&gt;
    cal.setTime(date);&lt;br /&gt;
    month = cal.get(Calendar.MONTH);&lt;br /&gt;
    day = cal.get(Calendar.DAY_OF_MONTH);&lt;br /&gt;
    System.out.println(&amp;quot;In 20 days time, day will &amp;quot; + day + &amp;quot;, month will be &amp;quot; + month);&lt;br /&gt;
    System.out.println(cal);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KVM Time Zones ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import java.util.TimeZone;&lt;br /&gt;
public class KVMTimeZones {&lt;br /&gt;
    &lt;br /&gt;
    public static void main(String[] args) {&lt;br /&gt;
        TimeZone defaultTZ = TimeZone.getDefault();&lt;br /&gt;
        String[] ids = TimeZone.getAvailableIDs();&lt;br /&gt;
        &lt;br /&gt;
        System.out.println(&amp;quot;Available time zone ids: &amp;quot;);&lt;br /&gt;
        for (int i = 0; i &amp;lt; ids.length; i++) {&lt;br /&gt;
            System.out.print(ids[i] + &amp;quot; &amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        System.out.println(&amp;quot;\nDefault timezone is &amp;quot; + defaultTZ.getID() + &lt;br /&gt;
                        &amp;quot;, GMT offset = &amp;quot; + defaultTZ.getRawOffset());&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>