How to turn a string into a date value
Hi All,
What is the best way to approach a date sorting issue I have?
A web service that I consume returns a date column in a string
format. Thus when the user clicks the column to sort a data grid by
that date value it sorts incorrectly.
I realize I could put a sort() on the grid or convert the
data somehow. I am hoping several people can give me what would be
considered a "best practice" from a code readability and
performance point of view.
Thannks in advance for your thoughts on this issue.
you dont have to convert anything just implement function and
asign it to Sort object's "compareFunction" property
The compare function must have the following signature:
function [name](a:Object, b:Object, fields:Array=null):int
This function must return the following
* -1, if a should appear before b in the sorted sequence
* 0, if a equals b
* 1, if a should appear after b in the sorted sequence
inside that function you might need a tmp conversion but
overall that should be it
for example (function can look like this :
if a===b) return 0;
if(myStringToDateConvertor(a) > myStringToDateConvertor(m)
) return 1;
if(myStringToDateConvertor(a) < myStringToDateConvertor(m)
) return -1;
return 0;
(remember sortField also has has compareFunction property but
you dont need that one).
Similar Messages
-
How to convert a string into orcle date format
i need some information about converting string into date format.i have string like '20-SEP-05' .so we have to convert into date formate like yy-mm-dd' (2005-09-20).how can we do it.
Here's some code to help. I can't remember what method uses what format though
public static java.sql.Date sqlDateValueOf( String dateString ) {
String stringDate = null;
if ( dateString == null || dateString.length() < 10 ) return null;
String strDay = "";
String strMonth = "";
String strYear = "";
if ( dateString.substring(4,5).equals( "-" ) ) {
strDay = dateString.substring(8, 10);
if ( strDay.length() < 2 ) strDay = "0" + strDay;
strMonth = dateString.substring(5, 7);
strMonth = dateString.valueOf(Integer.parseInt(strMonth) - 1);
if ( strMonth.length() < 2 ) strMonth = "0" + strMonth;
strYear = dateString.substring(0, 4);
stringDate = strDay + "-" + strMonth + "-" + strYear;
else if ( dateString.substring(2,3).equals( "-" ) ) {
strDay = dateString.substring(0, 2);
if ( strDay.length() < 2 ) strDay = "0" + strDay;
strMonth = dateString.substring(3, 5);
strMonth = String.valueOf(Integer.parseInt(strMonth) - 1);
if ( strMonth.length() < 2 ) strMonth = "0" + strMonth;
strYear = dateString.substring(6, 10);
stringDate = strDay + "-" + strMonth + "-" + strYear;
Calendar cal = Calendar.getInstance();
cal.set( Calendar.YEAR, Integer.parseInt( strYear ) );
cal.set( Calendar.MONTH, Integer.parseInt( strMonth ) );
cal.set( Calendar.DAY_OF_MONTH, Integer.parseInt( strDay ) );
java.sql.Date outDate = new java.sql.Date( cal.getTimeInMillis() );
return outDate;
public static String toDateString( java.util.Date date) {
if ( date == null || date.toString().length() < 10 ) return null;
String outDate = "";
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
outDate = df.format( date );
return outDate;
public static String toDateString( java.sql.Date date) {
if ( date == null || date.toString().length() < 10 ) return null;
String outDate = "";
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
outDate = df.format( date );
return outDate;
public static String toDateString( java.sql.Date date, String format) {
if ( date == null || date.toString().length() < 10 ) return null;
String outDate = "";
SimpleDateFormat df = new SimpleDateFormat( format );
outDate = df.format( date );
return outDate;
public static String toDateString( java.sql.Timestamp date) {
if ( date == null || date.toString().length() < 10 ) return null;
String outDate = "";
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
outDate = df.format( date );
return outDate;
} -
How to convert a String into a date in yyyy-MM-dd using SimpleDateFormat?
Hi Guys,
I am using the following code
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class ValiDATE {
private static boolean validateDateFormat(String strDate) {
try {
SimpleDateFormat formatter = new SimpleDateFormat("yy-MM-dd");
try {
formatter.setLenient(false);
formatter.parse(strDate);
catch (ParseException e) {
// invalid date/datetime format
return false;
catch (Exception ignored) {
return true;
public static void main(String args[]){
System.out.println(validateDateFormat("11111-11-11"));
}In the above snippet even if I pass the string parameter as "11111-11-11" it returns a new date and hence prints TRUE in the console, but I want the date to be in yyyy-MM-dd format that is no of years shouldn't exceed 4 digits in all.
I don't want to use RegEx, I know this can be done using SimpleDateFormat, but would like to know how that can be done.
I think it has to do something with this . ( [http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html#year|http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html#year] )
Regards
ARJava.slogger wrote:
Yeah I have gone through the javaDoc and it says For formatting, if the number of pattern letters is 2, the year is truncated to 2 digits; otherwise it is interpreted as a number. The important part is:
JavaDoc:
Any other numeric string, such as a one digit string, a three or more digit string, or a two digit string that isn't all digits (for example, "-1"), is interpreted literally.
Do you know any workarounds else is using a Regex is the best approach?I don't see this as a problem. Everything behaves as designed and as is sensible.
So if you want to avoid dates with 5-digit numbers, I'd add something like:
if (parsedDate.after(CUTOFF_DATE)) {
throw new OhNoesThisIsEvilException("!");
} -
How do you turn a string into an integer?
how do you turn a string into an integer?
for ex, if i wanted to turn the string "5" into the integer 5, how would i do that?String stringNumber="5";
try{
int number=Integer.parseInt(stringNumber);
}catch(NumberFormatException e){
System.out.println("The string "+stringNumber+" must be a number!");
} -
Converting a string into mySQL date format
I have a bit of code that collects data values from a bean and I want it to then insert this into a mySQL database. My string is in the format "23/12/1983", how can i put this into a date field in my database? The bit of code I have got so far looks like this...
String month = formHandler.month + "/";
String day = formHandler.day + "/";
String year = formHandler.year ;
StringBuffer sb = new StringBuffer();
sb.append(day);
sb.append(month);
sb.append(year);
String myDate = sb.toString();myDate is the value that I want to go into the databaseLimo2kz,
The key to inserting a date into a database is to convert the date string into an SQL friendly format. i.e. yyyy-MM-dd.
One way of doing this is as follows:
SimpleDateFormat NICE_DATE_FORMAT =
new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat SQL_DATE_FORMAT =
new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
try {
date = NICE_DATE_FORMAT.parse(dateString);
} catch (ParseException pe) {
pe.printStackTrace();
String sqlDate = SQL_DATE_FORMAT.format(date);
Now it is just a matter of creating the insert statement like normal, and making sure that the date string is in quotes.
I hope that helps.
Damian Sutton -
How to Splilit The String Into Single Column using Comma As Delimiter ?
How to Splilit The String Into Single Column using Comma As Delimiter ?
using Functionrefer my thread ,code is also available see if that helps you
error while executing the sp ORA-21779: duration not active -
How to Turn your iPad into a WiFi router for your laptop?
how to Turn my iPad into a WiFi router for your laptop?
Chris CA wrote:
iPads have no tethering abilities either.
I know, but I still don't know what the OP was asking. -
How to convert Java string into XML one?
With SAX I can parse an xml file, but I should create xml file by hands.
Ok, it's simple, but how to encode java string into XML constant
like "Hello & goodby" into "Hello & goodby" ?
Is there a standard method for such special xml characters?If you are creating your XML "by hand" then just make sure your hands know that you have to do that. It isn't difficult to write a Java method to do it, if "by hand" means "in Java code". Otherwise your XML is not well-formed. And as far as I know there is no package that takes ill-formed XML and fixes it up.
-
How to parse a string containing xml data
Hi,
Is it possible to parse a string containing xml data into a array list?
my string contains xml data as <blood_group>
<choice id ='1' value='A +ve'/>
<choice id ='2' value='B +ve'/>
<choice id ='3' value='O +ve'/>
</blood_group>how can i get "value" into array list?There are lot of Java XML parsing API's available, e.g. JAXP, DOM4J, JXPath, etc.
Of course you can also write it yourself. Look which methods the String API offers you, e.g. substring and *indexOf. -
Easy Question: How to split concatenated string into multiple rows?
Hi folks,
this might be an easy question.
How can I split a concatenated string into multiple rows using SQL query?
INPUT:
select 'AAA,BBB,CC,DDDD' as data from dualDelimiter = ','
Expected output:
data
AAA
BBB
CCC
DDDDI'm looking for something kind of "an opposite for 'sys_connect_by_path'" function.
Thanks,
TomasHere is the SUBSTR/INSTR version of the solution:
SQL> WITH test_data AS
2 (
3 SELECT ',' || 'AAA,BBB,CC,DDDD' || ',' AS DATA FROM DUAL
4 )
5 SELECT SUBSTR
6 (
7 DATA
8 , INSTR
9 (
10 DATA
11 , ','
12 , 1
13 , LEVEL
14 ) + 1
15 , INSTR
16 (
17 DATA
18 , ','
19 , 1
20 , LEVEL + 1
21 ) -
22 INSTR
23 (
24 DATA
25 , ','
26 , 1
27 , LEVEL
28 ) - 1
29 ) AS NEW_STRING
30 FROM test_data
31 CONNECT BY LEVEL <= LENGTH(REGEXP_REPLACE(DATA,'[^,]','')) - 1
32 /
NEW_STRING
AAA
BBB
CC
DDDD -
How to split this string into 4 sections to a max 35 characters
Hello,
Does anyone have an idea how I can acheive this please.
I have this string
Expense_Inv_8- ExpenseInv_7- Exp001- Expense_Inv_6- Expense_Inv_5- Expense_Inv_4- Expense_Inv_3- Expense_Inv_2- Expense_inv1
and I need to display them in sections seperated by ';' as explained below
Section 1 Section 2 Section 3 Section 4
Expense_Inv_8- ExpenseInv_7- Exp001;Expense_Inv_6- Expense_Inv_5;Expense_Inv_4- Expense_Inv_3;Expense_Inv_2;
need to split this string into 4 sections seperated by ';' and each section should be of no more than 35 characters, if null should end ;;;
Section 1, 35 Character ended by;
Section 2, broken off after Expense_Inv_5 because Expense_Inv_4 will take it over 35 chracters)
Section 3, should only take Expense_Inv_4- Expense_Inv_3, because adding Expense_Inv_2 will take it over 35
characters, each record in the string is seperated by '-'
Section 4, dispays the reminder of the string
regards
AdeHi,
Welcome to the forum!
Whenever you ask a question, it helps if you post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) and the results you want from that data.
I think I understand the problemk well enough to attempt a solution, but if the query below isn't right, please post that information.
WITH cntr AS
SELECT LEVEL AS n
FROM dual
CONNECT BY LEVEL <= ( SELECT MAX (LENGTH (txt))
FROM table_x
, got_best_path AS
SELECT id
, txt
, MAX ( SYS_CONNECT_BY_PATH ( TO_CHAR (c.n, '99')
) AS best_path
FROM cntr c
JOIN table_x x ON c.n <= LENGTH (x.txt)
START WITH c.n = 1
CONNECT BY c.n - PRIOR c.n BETWEEN 1
AND :section_length
AND x.id = PRIOR x.id
AND SUBSTR ( x.txt
, c.n
, 1
) = '-'
AND LEVEL <= :section_cnt
GROUP BY id
, txt
, got_pos AS
SELECT id
, REPLACE ( txt
) || ';' AS txt
, best_path
, TO_NUMBER (REGEXP_SUBSTR (best_path, '[0-9]+', 1, 2)) AS pos_2
, TO_NUMBER (REGEXP_SUBSTR (best_path, '[0-9]+', 1, 3)) AS pos_3
, TO_NUMBER (REGEXP_SUBSTR (best_path, '[0-9]+', 1, 4)) AS pos_4
FROM got_best_path
SELECT id
, SUBSTR (txt, 1 , NVL ( pos_2 , :section_length)) AS section_1
, SUBSTR (txt, pos_2 + 1, NVL ((pos_3 - pos_2), :section_length)) AS section_2
, SUBSTR (txt, pos_3 + 1, NVL ((pos_4 - pos_3), :section_length)) AS section_3
, SUBSTR (txt, pos_4 + 1, :section_length ) AS section_4
FROM got_pos
;As written, this requires SQL*Plus 9 (or higher). You can have multiple versions or SQL*Plus on the same client, if you really need to keep the older version.
:section_length is the maximum length of each section (35, as you stated the problem).
:section_cnt is the number of sections. In the query above, this is 4. If you change it, you not only have to change the bind variable, but you have to change the hard-coded SELECT clauses of the main query and the last sub-query (that is, got_pos).
MODEL or PL/SQL would probably be better ways to solve this problem. -
How to convert multiple rows into colmun data?
Hi all
ODI has fuction that covert multiple rows form a file into colmun data?
Source:customer.txt
001,Scott
001,Man
001,23
002,Lincon
002,Man
002,21
objective Target:customer
ID Name Sex Age
001 Scott Man 23
002 Lincon Man 21
If there is no this fuction,how can I do this in ODI?
Thanks in advance.
AguiHi, Sanjeev,
What you requested is called String Aggregation.
Like most other things, the best way to do it depends on your version of Oracle.
The following site shows several different ways to do string aggregation:
http://www.oracle-base.com/articles/10g/StringAggregationTechniques.php'
The user-defined function (often called STRAGG) that Charles mentioned is my favorite, in versions between 9.1 and 11.1. -
How to turn two users into one?
Hey there!
As I selled my MBP last month I copied all its datas to my iMac via migration assistant and created a new user for it. So I have now two accounts with different photos, documents etc.
My problem now is how to turn these two users into one?
I want all my photos appear in Aperture of my first user, I want all my documents appear in "Documents" of the first user and so on..
Is it able? If yes, how could I realize it?
Thanks for your support!
René
PS: 2 Users on iMac -> 1 User on iMac.Thanks for your help at first.
But you usually can't "merge" two "normal" user accounts successfully. If both accounts have data for the same application, it will be very difficult or impossible to merge them by copying files & folders.
I cannot merge them.. So there is the question how to copy all medias from Aperture to my other Aperture medias?
Can I export my whole medias and import in at the other users Aperture? And how? #
Edit: I dont want to have two different libraries at all.. I want them to be together in just one.. -
How to put a String into a byte array
How can i put a String into a byte array byte[]. So that i can send it to the serial port for output to an LCD display. Cheers David
javadocs for String
getBytes
public byte[] getBytes()
Encodes this String into a sequence of bytes using the platform's default charset, storing the result into a new byte array.
Returns:
The resultant byte arraySince:
JDK1.1 -
XML: How to convert xml string into Node/Document
I have a string in xml form.
<name>
<first/>
<second/>
</name>
I want to convert this string into DOM Node or Document.
How can I do this?
Any help or pointer?
TIA
SachinTry this :
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new org.xml.sax.InputSource(new StringReader(strXml)));Hope this helps.
Maybe you are looking for
-
Intel iMac SuperDrive (Matshita DVD-R UJ-846) DVD Burning Problems
Hi there: Having a strange problem burning DVD's now. I have a January '06 intel iMac Core Duo 2ghz, 2GB RAM. My DVD burner suddenly no longer will burn DVD's. When I put in a blank DVD-R, it just spins for a bit then spits it out, no prompt or error
-
Oracle 10g (10.1.3.1.0) ant-oracle-classes.jar
Hi, I dint find Ant Task for stopping/starting/restarting the Oracle Application Server, but the http://download-uk.oracle.com/docs/cd/B31017_01/web.1013/b28951/anttasks.htm#BEIHFIIC specifies that you can do so with the Ant Tasks. I went through "an
-
Need to enable autoreload feature for servlet in Tomcat
Hello I wants to enable autoreload feature for servlet in tomcat so that i need not to stop tomcat 4.0 web server again and again Thanks
-
For a long time now, every time I've tried to log in to ebay (I can get into ebay, but I cannot log into my account, etc) or Paypal (I cannot even access this site), I get an error message stating that "the connection is untrusted" "You have asked Fi
-
Hi, I need to enable the Standard WF 1000105 PdvAppraisal for the Appraisal Approval/Rejection by Appraisee. I enabled the Event linkage in the Trnx: SWETYPV. Unlike the other WFs, this WF has the binding with the triggering Event deactivated. I acti