Date format (year)

Hello,
i wanna know if it's possible to declare a field in a table, named year, which format being YYYY-YYYY (for example 2007-2008, 2008-2009, etc..)
Thanks

You have a couple of options.
1. Store the START_DATE and END_DATE as DATEs in 2 separate columns. Once you capture your data as a DATE field, you can do any calculations you might want. Also, this gives you the power of timestamping events. Say for eg, your school date starts from June every year and ends in May next year. You could store 01-Jun-2008 in START_DATE (first day of your custom year) and 31-May-2009 in END_DATE (last day of your year). Now, say that in 2009, due to whatever reasons say the year is considered as July-June from 2009 onwards. By storing DATEs, you in fact now know that such a shift really happened.
2. Store only the End year (or start year) as a single DATE column. I still suggest storing a date than a four lettered NUMBER or VARCHAR2. Also, I suggest storing the END_DATE rather than the START_DT - but that is really upto you (my reasoning is - you hear people mostly say when you passed out of school rather than when you started school - like I graduated from college in 1999 or I earned my diploma in 2005). Once you know the END_DATE, start date is not hard to guess or to calculate for that matter, since it is always END_DATE - 1 year in your case. Or ADD_MONTHS(END_DATE, -12).
Though you are just interested in the year part, store the day and month anyway (thus using the DATE datatype). You can easily format your report anyway you wnat if you have the most granular data stored in the first place. So, for 2008, you could store as 01-Jan-2008 or if you know the month, store the month as well - like say 01-Sep-2008. Use a default (like 01) for day and month when you're not sure.
-Shreyas.

Similar Messages

  • I wnat the date formate. year with 4 digigt, month and date two digit. I do

    This is my code.
    TimeZone timeZones = null;
    DateFormat dateFormating = null;
    boolean dateCheck = true;
    Date newDate = new Date);
    if(dateCheck)
         dateFormating = DateFormat.getDateTimeInstance( DateFormat.SHORT, DateFormat.SHORT, Locale.GERMAN); // Locale.FRANCE
         timeZones = TimeZone.getTimeZone("America/Los_Angeles"); // "Europe/Berlin"
    }else{
    timeZones = TimeZone.getDefault();
    dateFormating = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.US);
    dateFormating.setTimeZone(timeZones);
    String formatedDate = dateFormating.format(newDate);
    // System.out.println(" DateFormatManager ================ formatedDate "+dateFormating.format(newDate));
    I got the this date 5/29/08. But I want the date for this formate 5/29/2008. I don't want to set the date formate. It's automaticaly change based on the timezone and locales.
    Anybody help me correct result. Which part i want to change the above code.
    Thanks
    palani

    this is a reusable component which i developed try it
    import java.awt.FontMetrics;
    import java.awt.Graphics;
    import java.text.DecimalFormat;
    import java.util.Calendar;
    import java.util.Date;
    public class DateTime// implements Runnable
    protected DecimalFormat tflz, tf;
    private boolean stopped=false;
    javax.swing.JTextField text_field;
    public DateTime(javax.swing.JTextField text)
    text_field=text;
    new Thread(new Runnable() {
    public void run() {
    while (stopped==false) {
    // run1();
    paint1();
    try {
    Thread.sleep(1000);
    } catch (InterruptedException e) { /* do nothing */
    }).start();
    // java.util.concurrent.ExecutorService es=java.util.concurrent.Executors.newFixedThreadPool(0);
    //     es.execute(this);
    public void paint1() {
    tf = new DecimalFormat("#0");
    tflz = new DecimalFormat("00");
    Calendar myCal = Calendar.getInstance();
    StringBuffer sb = new StringBuffer();
    sb.append(tflz.format(myCal.get(Calendar.MONTH)+1));
    sb.append("/");
    sb.append(tflz.format(myCal.get(Calendar.DATE)));
    sb.append("/");
    sb.append(tflz.format(myCal.get(Calendar.YEAR)));
    sb.append(" ");
    sb.append(tf.format(myCal.get(Calendar.HOUR)));
    sb.append(':');
    sb.append(tflz.format(myCal.get(Calendar.MINUTE)));
    sb.append(':');
    sb.append(tflz.format(myCal.get(Calendar.SECOND)));
    String sss = sb.toString();
    text_field.setText(sss);
    public void stop()
    stopped=true;
    public void start()
    stopped=false;
    }

  • Group by month/year from DATE FORMAT column

    Hi Chaps,
    I have a recordset that pulls data from a database, then presents the data in a table. The data is grouped by 'projid', repeated for every 'projid', with a show/hide control, to show all the 'jobid's' relating to that particular 'projid'
    This is what I have so far:
    Code:
    SELECT             
    tbl_projects.projid,
    tbl_projects.projtitle,
    tbl_projects.projdue, DATE_FORMAT(tbl_projects.projdue, '%%d/%%m/%%Y') as projdue_format,
    tbl_projects.projtype, 
    tbl_projects.projinvtype,
    tbl_projects.FK_custid,
    tbl_projects.projcompletedate
    tbl_languaget.langtname,
    tbl_doctype.doctypename,
    tbl_jobs.jobid,
    tbl_jobs.FK_projid,              
    tbl_jobs.jobname,              
    tbl_jobs.FK_langid,              
    tbl_jobs.jobpages,              
    tbl_jobs.jobshipped,
    tbl_jobs.jobinvsent,   
    tbl_jobs.jobtranslatorcharge,    
    'tbl_jobs' as fromtable,
    tbl_customers.custid,
    FROM tbl_projects  
    INNER JOIN tbl_jobs              
    ON tbl_projects.projid=tbl_jobs.FK_projid  
    INNER JOIN tbl_languaget              
    ON tbl_languaget.langtid=tbl_jobs.FK_langid  
    INNER JOIN tbl_customers              
    ON tbl_customers.custid=tbl_projects.FK_custid
    INNER JOIN tbl_costs
    ON tbl_costs.FK_custid=tbl_customers.custid 
    INNER JOIN tbl_doctype
    ON tbl_doctype.doctypeid=tbl_jobs.FK_doctypeid
    WHERE tbl_projects.projstatus='Complete'        
    AND tbl_projects.projinvtype='Costing Sheet'
    AND langtname!='TH'
    AND langtname!='ID'
    AND langtname!='KO'
    AND langtname!='JP'
    AND jobinvsent='y'
    AND FK_custid = %s
    ORDER BY projid ASC", GetSQLValueString($colname_rsInvPending, "int");
    $rsInvPending = mysql_query($query_rsInvPending, $conndb2) or die(mysql_error());
    //$row_rsInvPending = mysql_fetch_assoc($rsInvPending);
    $totalRows_rsInvPending = mysql_num_rows($rsInvPending);
    Code:
    // REPEAT - FOR EVERY PROJECT
      <?php
      $previousProject = '';
      if ($totalRows_rsInvPending > 0) {
      // Show if recordset not empty
        while ($row_rsInvPending = mysql_fetch_assoc($rsInvPending)) {
          if ($previousProject != $row_rsInvPending['projid']) {
          // for every Project, show the Project ID
      ?>
    Code:
    // SHOW/HIDE CONTROL
        <tr>
        <td colspan="9" class="highlight"><span class="blueBold"><a href="#" onclick="toggle2('proj1<?php echo $row_rsInvPending['projid'] ?>', this)"><img src="../../Images/plus.gif" border="0" /></a> <?php echo $row_rsInvPending['projid'] ?> - </a></span><span class="blueNOTBold"><em><?php echo $row_rsInvPending['projtitle'] ?></em></span></td>
        </tr>
    Code:
    // SHOW/HIDE
        <?php $previousProject = $row_rsInvPending['projid']; } ?>
        <tr class="proj1<?php echo $row_rsInvPending['projid'] ?>" style="display:none">
        <td>column 1</td>
        <td>column 2</td>
    What I want, is to put in another grouped by stage, where the 'projid's' themselves are in a show/hide region, grouped by 'projcompletedate' (year/month). 'projcompletedate' is in DATE format, but how to I get PHP/SQL to take the month and year and then group them correctly?

    Hi David, I'm not sure if I've got this right, would you mind looking at my latest code?:
    <table border="0" cellpadding="0" cellspacing="0" id="tblinvoice">
        <tr>
          <th>Job Title</th>
          <th>Type</th>
          <th>Language</th>
          <th>Translator</th>
          <th>Total</th>
          <th>Full</th>
          <th>Fuzzy</th>
          <th>Proof</th>
          <th>Full Price</th>
          <th>Discount Price</th>
          <th>Document Format</th>
          <th>Pages</th>
          <th>Typesetting Cost</th>
          <th>EN Proofreading Cost</th>
          <th>Total</th>
          <th>Translator Charge</th>
          <th>Profit</th>
          <th>Profit Percentage</th>
        </tr>
        <?php
          $previousMonth = '';
          if ($totalRows_rsInvPending > 0) {
          // Show if recordset not empty
          do ($row_rsInvPending = mysql_fetch_assoc($rsInvPending)) {
          if ($previousMonth != $row_rsInvPending['themonth']) {
          // for every Month, show the Month Name
       ?>
        <tr>
          <td colspan="18" class="highlight"><?php echo $row_rsInvPending['theyear'] ?> - <?php echo $row_rsInvPending['themonth'] ?></td>
        </tr>
        <?php $previousMonth = $row_rsInvPending['themonth']; } ?>
        <?php
          $previousProject = '';
          if ($totalRows_rsInvPending > 0) {
          // Show if recordset not empty
          while ($row_rsInvPending = mysql_fetch_assoc($rsInvPending)) {
          if ($previousProject != $row_rsInvPending['projid']) {
          // for every Project, show the Project ID
       ?>
       <tr>
        <td colspan="18" class="highlight"><span class="blueBold"><a href="#" onclick="toggle2('proj1<?php echo $row_rsInvPending['projid'] ?>', this)"><img src="../../Images/plus.gif" border="0" /></a> <?php echo $row_rsInvPending['projid'] ?> - </a></span><span class="blueNOTBold"><em><?php echo $row_rsInvPending['projtitle'] ?></em></span></td>
        </tr>
        <?php $previousProject = $row_rsInvPending['projid']; } ?>
        <tr class="proj1<?php echo $row_rsInvPending['projid'] ?>" style="display:none">
            <td><?php echo $row_rsInvPending['jobname']; ?></td>
            <td><?php echo $row_rsInvPending['projtype']; ?></td>
            <td><?php echo $row_rsInvPending['langtname']; ?></td>
            <td><?php echo $row_rsInvPending['translator']; ?></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
          </tr>
          <?php } while ($row_rsInvPending = mysql_fetch_assoc($rsInvPending)); ?>
          <?php } // Show if recordset not empty ?>

  • How to get year format result on date format in Bex

    Hi,
    I have requirement to display only year and month in seperate rows as a result in Bex.
    I have created on date field like MM/DD/YYYY and i have to display in two seperate rows as MM/YYYY and YYYY.
    Could anyone please suggest me how i can display these format in Bex.
    thanks in advance.

    Hi Prashant
    Regional settings of Windows are used to dispaly Date format in Bex reports.
    you neesd to change the settings in Regional settings:
    Control Panel-> Regional settings
    this will change to the desired Date format.
    Regards
    Vivek Tripathi

  • Show Current Date in Year Format (and now - 1, etc.)

    Our form has some column headers that need to change each year, the headings are current year (2010) + previous 3 years.  Am trying to programatically add the titles to eliminate modifying the form just to change the year, but not finding how to accomplish, and was checking out some date samples found, but no success yet.  My question is 2 part - how/where do I put code, I don't need the user to enter anything, just want a column header.  This example below is where I copied the idea from a sample and tried to adjust, it's on the calculate event of a date/time field, and I get an error message that says 'the display pattern "date-{MM/DD]" is incompatible with the object's data format.  Define a compatible Display pattern.  This display pattern error is the 2nd part of the question.  How do I display only the 4 digit year?
    year1.rawValue
    = num2date(date(), "YYYY")
    How do I accomplish this - am newbie on this!  Thank you very much!

A: Show Current Date in Year Format (and now - 1, etc.)

1) I typically use a hidden field to capture the current date on the layout:ready event.
2) If year1 is a date object  your script is valid but you are probably missing the display pattern date{YYYY} on year1.
If year1 is a text field you could could capture current year in a hidden field as
// form1.page1.currentYear::ready:layout - (FormCalc, client)
$.rawValue = Num2Date(Date(), "YYYY")
where currentYear has the display pattern date{YYYY} and add
this.rawValue = form1.page1.currentYear.rawValue;
to the calculate event of year1.
Steve

1) I typically use a hidden field to capture the current date on the layout:ready event.
2) If year1 is a date object  your script is valid but you are probably missing the display pattern date{YYYY} on year1.
If year1 is a text field you could could capture current year in a hidden field as
// form1.page1.currentYear::ready:layout - (FormCalc, client)
$.rawValue = Num2Date(Date(), "YYYY")
where currentYear has the display pattern date{YYYY} and add
this.rawValue = form1.page1.currentYear.rawValue;
to the calculate event of year1.
Steve

  • I want to change the final date format in MM/DD/YEAR.

    HI all,
    I want to change the final date format in MM/DD/YEAR. Even my profile will be in any format like DD.MM.YY or YY.MM.DD .
    can any body tell me the way..

    declare variable:
    DATA : gv_date(10) TYPE c.
    and assign value to it:
    CONCATENATE sy-datum+4(2) sy-datum+6(2) sy-datum(4) INTO gv_date SEPARATED BY '/'

  • IPhoto only accepts date/month/year format for pics?

    I'm trying to add the dates to many old photos that I have in my iPhoto, version 8.1.2.
    Unfortunately, I have many years of photos in there, and I can't remember exact dates of many photos.
    And so I just want to at least put the month and the year. Or sometimes, I'll just remember the year.
    But iPhoto will only let me use a date/month/year format. Odd.
    Is there any way around this?
    Somehow, many of my old photos that have been transfered from old computers have dates assigned to them that are crazy, like 1960....etc.
    I can just make up a date and a month, but that takes more time, and furthermore it will be wrong info.
    I don't want that.
    It seems silly that I can't just put the year alone.
    Any thoughts?
    thank you!

    it also seems like the albums of photos will use the date of the earliest photo in the album, and the newest photo in the album to create a "from" field and a "to" field, in the "info" section at the bottom left of the application, when the Album is highlighted.
    This means that I have to manually correct every single photo in my albums, so that the album date range will read correctly?
    thanks again...

  • Calander Date format(month year)

    Hi All,
      I am using the Date format (month year, 'January 2009') to  QaaWs as a input. But when i go into Xcelsius calendar i am trying to give the same format but its not taking  as same as mentioned above( I customize the cell in xcelsius spread sheet as month year). Is there any thing to change?
    Please help me.
    Thanks in advance.
    Muvva

    The month in words datatype is FCLTX.
    If you have the date field, you can convert to your required format.
    data : out_date(20) type c.
    DATA : ws_fcmnr TYPE fcmnr,
           ws_month TYPE fcltx.
    parameter   date like sy-datum.
    ws_fcmnr = date+4(2).
    SELECT SINGLE ltx
    INTO ws_month
    FROM t247
    WHERE mnr = ws_fcmnr
    and spras = 'EN'.
    concatenate ws_month date6(2) date0(4) into out_date separated by space.
    write out_date.
    Thanks,
    Susmitha
    Dont forget to reward points for useful answers.

  • In Numbers, how can i change only the year in a date formatted column of data?

    I'm using Numbers 3.5.2 on an iMac running Yosemite 10.10.2.
    This column is a listing of dates tied to info that needs to happen on a particular date each year. Rather than re-key all the dates so the year advances to 2015, it would be great if I could change just the year for the entire column, leaving the day and month intact.
    Thanks in advance for your help.

    If you already have a column of dates, and just want change the year in the entire column, rather than reenter the dates,  then you could use a formula something like this:
    The formula in B2, copied down the column:
        =DATE(YEAR(A2)+1,MONTH(A2),DAY(A2))
    Then select the new column, command-c to copy, and Edit > Paste Formula Results. The original column can then be deleted.
    SG

  • Help: Date Format Mask Issue year 0004 instead of 2004

    Hi,
    I set Date Format Mask as MM/DD/YYYY for a date field. However, when user enter
    12/31/04 the result turned out as 12/31/0004
    Of course, I'd like user put 12/31/2004, but 12/31/04 leads to 12/31/0004 has to be stopped.
    Any suggestions?
    Thank you in advance.
    Jimmy

    Thank you very much Francois and it works for me.
    Jimmy

  • Date format issue in oracle database

    Hi,
    Back end : Oracle 11.2.0.2.0
    Front end : Forms 11g
    In our application we are facing issue with TO_DATE('DD/MM/YYY') Date format conversion.
    Example: TO_DATE(P_date,'DD/MM/YYYY') giving the result as 20-Dec-0009
    In the above eg the Parameter P_date is coming as '20-dec-09' from the front end (forms 11g)
    The Nls_date_format parameter at database level is set as 'DD-MON-RR'
    Its working fine after changing the conversion as TO_DATE(P_date,'DD/MM/RRRR') .- If we do like this , we need to change in many places , so instead of doing this, is there other solution wrt database settings/Application settings where we can change and fix this issue
    pls help us to solve the issue.
    Regards.
    sathish k

    892913 wrote:
    Hi,
    Back end : Oracle 11.2.0.2.0
    Front end : Forms 11g
    In our application we are facing issue with TO_DATE('DD/MM/YYY') Date format conversion.
    Example: TO_DATE(P_date,'DD/MM/YYYY') giving the result as 20-Dec-0009
    In the above eg the Parameter P_date is coming as '20-dec-09' from the front end (forms 11g)
    The Nls_date_format parameter at database level is set as 'DD-MON-RR'
    Its working fine after changing the conversion as TO_DATE(P_date,'DD/MM/RRRR') .- If we do like this , we need to change in many places , so instead of doing this, is there other solution wrt database settings/Application settings where we can change and fix this issue
    pls help us to solve the issue.
    Regards.
    sathish kWell the solution is right in front of you. As you say, your database environment is set to DD-MON-RR so your database is set to use 2 digit years (something most people moved away from with the millenium bug more than 10 years ago now). You can either change all your code to use RRRR as you've found, or change your database NLS setting to DD-MON-RRRR and change your front end application to pass you a date with 4 digit years so you get e.g. '20-dec-2009'.
    So many people worked hard to resolve the millenium bug issues all those years ago, but still we have people, all these years later, who want to reintroduce the problem. So sad.

  • Problem with SQL*Loader and different date formats in the same file

    DB: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    System: AIX 5.3.0.0
    Hello,
    I'm using SQL*Loader to import semi-colon separated values into a table. The files are delivered to us by a data provider who concatenates data from different sources and this results in us having different date formats within the same file. For example:
    ...;2010-12-31;22/11/1932;...
    I load this data using the following lines in the control file:
    EXECUTIONDATE1     TIMESTAMP     NULLIF EXECUTIONDATE1=BLANKS     "TO_DATE(:EXECUTIONDATE1, 'YYYY-MM-DD')",
    DELDOB          TIMESTAMP     NULLIF DELDOB=BLANKS          "TO_DATE(:DELDOB, 'DD/MM/YYYY')",
    The relevant NLS parameters:
    NLS_LANGUAGE=FRENCH
    NLS_DATE_FORMAT=DD/MM/RR
    NLS_DATE_LANGUAGE=FRENCH
    If I load this file as is the values loaded into the table are 31 dec 2010 and 22 nov *2032*, aven though the years are on 4 digits. If I change the NLS_DATE_FORMAT to DD/MM/YYYY then the second date value will be loaded correctly, but the first value will be loaded as 31 dec *2020* !!
    How can I get both date values to load correctly?
    Thanks!
    Sylvain

    This is very strange, after running a few tests I realized that if the year is 19XX then it will get loaded as 2019, and if it is 20XX then it will be 2020. I'm guessing it may have something to do with certain env variables that aren't set up properly because I'm fairly sure my SQL*Loader control file is correct... I'll run more tests :-(

  • Problem with date format mask 'D'

    I am experiencing an extremely thorny problem with the date format mask ‘D’. I am trying to use it to check whether today is a Monday. The variable v_temp_day is set to sysdate. For the last 4 weeks the code has behaved erratically – giving a different result at 02:00 than at 10:30 even though it is only taking account of the date. In desperation I inserted a debug statement formatting the date in a variety of ways – with interesting results. Oracle is somehow managing to tell us that today is simultaneously Monday and Tuesday depending on which format mask you choose. Anyone got any thoughts or suggestions?
    PROC_ID TO_CHAR(STAMP_TIM
    EVENT_SQLERRM
    RRHKP010 17092007 02:00:00
    TO_NUMBER( TO_CHAR( v_temp_day, D ) ) = 2. TO_CHAR( v_temp_day, D ) = 2. TO_CHAR( v_temp_day, DY ) = MON. TO_CHAR( v_temp_day, DAY )
    = MONDAY . TO_CHAR( v_temp_day, Day DD-MON-YYYY HH24MISS ) = Monday 17-SEP-2007 020000. TO_CHAR( v_temp_day, D ) = 2.
    SQL> select to_char( sysdate, 'D' ) from dual ;
    T
    1

    My book says the trunc(d,'iw') will return "same day of the week as Jan 1st of that year"It's bad book.
    Please read about [url http://oraclesvca2.oracle.com/docs/cd/B10501_01/server.920/a96540/functions176a.htm#80159]TRUNC & 'IW' Format Model and [url http://oraclesvca2.oracle.com/docs/cd/B10501_01/server.920/a96529/ch3.htm#50331]Database Globalization Support Guide: First Calendar Week of the Year in the manual.

  • Date format doesn't follow my International settings

    In System Preferences > International > Formats, I have set up my date format to be yyyy/mm/dd but the date format options available in Numbers don't include this. Numbers only gives the American mm/dd/yyyy option for an 8-digit date format.
    Surely this is a bug? Is there any way to set the formats in Numbers to obey System Preferences?

    Hello
    Two problems in fact.
    - 1 - from what does Numbers grab it's default date format?
    I set the International prefPanes to "Long date" with years on four digits but Numbers defaults to 1 déc.07. Here I'm afraid that this is a bug. Maybe one linked to localization.
    - 2 - Numbers offers a menu giving us the ability to change the used format but alas, the ISO format is not available. Here it's not a bug. It seems that they simply ignored this format.
    *Go to "Provide Numbers Feedback" in the "Numbers" menu* and describe what you wish.
    I already asked Apple about that because it's really surprising that the ISO format (which is the international rule) is not reachable in Numbers.
    Yvan KOENIG (from FRANCE samedi 1 décembre 2007 13:19:27)

  • How to change the date format?

    Hi,
    I need to display the data format as(YYYY-MM-DD). But now it displays(2009-1-9)
    Here is my code snippet which i used to display the data format as(2009-1-9)
    *<INPUT TYPE=TEXT NAME="date_submitted" MAXLENGTH=20 SIZE=10 VALUE="" onBlur= "return dateSubmitted()">  (YYYY-MM-DD)*
    *<SCRIPT LANGUAGE="javascript">*
    dateSubmitted()
    *</SCRIPT>*
    function dateSubmitted()
                        if (document.pgUpdate.date_submitted.value == "")
                             date = new Date();     
                             month = date.getMonth() + 1     
                             document.pgUpdate.date_submitted.value =
                                            date.getYear() + "-" + month + "-" + date.getDate();
                        return true;
    Can anybody help me how to change the date format?
    Thanks in advance!

    prit123 wrote:
    use SimpleDateFormat class. The code is :He posted a Javascript related question, not a Java related question.
    Please use forums devoted to Javascript. You're here at a Java/JSP forum.
    There are JS forums at webdeveloper.com and dynamicdrive.com. Good luck.
    String formatPattern = "yyyy-mm-dd";
    SimpleDateFormat sdf = new SimpleDateFormat(formatPattern);
    sdf.format(yourdate);yyyy-mm-dd denotes year-minutes-days. Please go read the SimpleDateFormat API as well.

  • Maybe you are looking for