Pankaj Kumar
Pankaj Kumar

Reputation: 82958

Conversion of String to DateTime : Android

I have a field (named as time, but type is TEXT) in my Sqlite Database. In current format of that column is YYYY:MM:DD_HH:MM (as 2011:11:01_11:30 ). Now I have to sort this column, so I think I have to do two things:

  1. Convert string value to date.
  2. Then sort with column.

Then how can I convert that column into DateTime? Or is there any other way to do this?

Upvotes: 4

Views: 18353

Answers (2)

user370305
user370305

Reputation: 109237

To convert String into Date, In my case this works fine,

String startTime = "2011-09-05 15:00:23";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date date1 = dateFormat.parse(startTime);

EDIT:

For Date and Time in SQLite

1.2 Date and Time Datatype

SQLite does not have a storage class set aside for storing dates and/or times. Instead, the built-in Date And Time Functions of SQLite are capable of storing dates and times as TEXT, REAL, or INTEGER values:

* TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").
* REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
* INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC. 

Applications can chose to store dates and times in any of these formats and freely convert between formats using the built-in date and time functions.

So, just use as a INTEGER or TEXT and use ORDER BY clause for sorting.

Upvotes: 20

Hardik4560
Hardik4560

Reputation: 3220

Its best practice to use long data type for date-time value in-spite of text.

Then you can use it in ur code simply by calling Date class constructor to get ur Date and Time.

This makes ur sorting operation simply easy.

Upvotes: 0

Related Questions