Date$ 1900 in OS X

I like to place as much accuracy into my images as possible; so when scanning in old postcards that I have found along London markets I amend the date to reflect the year on the postcard. The problem is that anything before the 1900's is a problem for OS X. Apparently OS X can only go back to about 1970, something to do with Steve Jobs' birthday or some of the original workers I'm told.
I am told that this problem is embedded in OS X and that it would probably not get fixed, too hard.
Could an OS based on the ZFS system (up from HFS/HFS+) solve this problem? I don't know but if the change is integral its usual that long standing problems are fixed.
Either way, this complicated problem would be better sorted out as digital newspaper archives are being opened up and if you come from a country like the UK then there is a real need for dates to be recognised before 1900. I currently use Aperture to organise images from these periods but once exported that data will be modified and what of other formats?!

I don't know what all that means but it strange that UNIX set a deadline for itself, a time to expire.
First, many Unix implementations are starting to provide 64 bit time values (double the old 32 bit values) which are capable of a date range 292,471,208,677 years into the future and the past.
Mac OS X programs which have been compiled for 64 bits (gcc -m64) can access this 64 bit time value. But Mac OS X Leopard is still mostly compiled for 32 bits. Also the on-disk format most likely only has 32 bits reserved for the date. Change the on-disk format is not a simple recompile as your existing flies are in the way, so that requires some way of converting gigabytes of existing files.
HOWEVER, it will take awhile before every last bit of software is compiled as a 64 bit application. And it will also take time before every application is modified to be able to format dates that far into the future (or the past).
As to why Unix would choose a date format that ranges from 1902 - 2038, back in 1970 computers had memory sizes that ranged from 4 kilobytes to 64 kilobytes (10's of Thousands times smaller than the smallest Mac shipping today). Using a 32 bits time value was a major indulgence. The CPU Unix was developed on could do 16 bit math (and then only add and subtract, no multiple nor divide), so doing 32 bit math was much more difficult. Doing 64 bit math would have been even more difficult and taken a lot longer. And when I say it would have taken longer, consider that in those days CPUs ran at speeds less than 1 megahertz, where as today, they run at over 2 gigahertz (2000+ times faster), so every instruction Unix had to execute cost both in time as well as memory, neither of which were in great supply.
And just to put things in perspective, no Unix systems (nor Macs) had problems with the Y2K time problems that many PCs had (maybe some poorly written application, but not the OS). Some because they were still using DOS based applications which stored the year a 00 - 99, or because they had a computer BIOS with a year 99 limit. A lot of companies spent a lot of money upgrading computers and software in 1999 getting ready for New Year's 2000. Unix systems have another 29 years, and most of them have already started getting ready. By 2038, Unix should have be more than ready.
Message was edited by: BobHarris

Similar Messages

  • Blank Date display's as 1900/1/1

    Hi All,
    In my DS designer some of the date fields are blank.
    Which is displaying as 1900/1/1 can you tell me how to display it as blank?
    while in SAP it is blank.

    1900/1/1 is DB default. Have you checked the data quality in DB?
    You can write an ifthenelse (Date = '1900/1/1',Null,Date)
    Arun

  • Working with Dates older than 1900-01-01

    I'm curious about working with old historical dates.  Crystal doesn't seem to like working with them as a valid date as far as displaying and working with them in formulas.
    For simplicity, instead of using a database I tried a simple one cell input Excel spreadsheet with a combination of dates in it, some prior to 1900-01-01.  The newer dates display fine, the older dates (any 1899 and before) display as blank. As well, they don't return expected results when used in formulas doing < or > comparisons to more current dates.  
    What's the best work-around if a person should need to create a reports with historical data containing pre-1900 dates?
    Thanks!  Russ.

    Hi Russ,
    To clarify,  is this issue happening with Excel as a datasource or within Crystal Reports as well?  I've found articles specific to Excel where it considers 1900-01-01 as a leap year. 
    I have also tested this in Crystal Reports by creating a formula:
    date(1900/01/01)
    Regards,
    Wallie
    Edited by: Wallie Cheng on Sep 24, 2008 1:15 AM
    Actually my syntax was incorrect.  Crystal Reports displays the date correctly with the date formatted as 1900,1,1

  • How to store this value in date variable?

    Hi sir,
    i am having one query which is
    select to_char(date '1900-01-01' + 1439/(24*60),'DD/MM/YYYY HH24:MI:ss')from dual;
    when i am running this query i am getting this value: 01/01/1900 23:59:00
    and this value i am inserting in one variable which has date datatype.
    here i am storing like this:
    v_nshiftmax := to_char(date '1900-01-01' + 1439/(24*60),'DD/MM/YYYY HH24:MI:SS');
    while storing getting error: not a valid month
    how to store it in this variable?
    thanks

    964430 wrote:
    why using TO_DATE (), to improve performance avoid function calling if you can do without it, just use v_nshiftmax := date '1900-01-01' + 1439/(24*60); remove TO_CHAR() function only, as you already converted it to date.Please prove to us that TO_DATE(...) is slower that using DATE '...'
    Both are internal functions that take a string and turn it into a date.

  • BO 6.5 : save as excel (problem date)

    hi,
    i've a query result in BO with a date "31/12/2099". This date come from an oracle db file.
    I save it into xls (save as) but the result in xls give me "30/12/1900".
    It is the same for date greater than 31/12/2099.
    for date < 1900 the result is 01/01/1900 !!!!
    I think the problem is to resolve the date in two positions (YY) to four positions (YYYY)
    is it possible to bypass de transformation ?
    an idea to correct this ?
    thanks
    Edited by: dlbank on Jun 22, 2009 1:43 PM
    Edited by: dlbank on Jun 22, 2009 1:45 PM
    Edited by: dlbank on Jun 22, 2009 1:47 PM

    Hi,
    Following solution might be helpful in resolving the issue.
    A workaround for this issue is to select the entire document, go to Edit > Copy All, and then paste it into an Excel spreadsheet. You will get the correct dates and the table will remain in the same format as the original *.rep document. You can then do further calculations in the Excel spreadsheet.
    Note: If the *.rep document contains gaps, then they will not be pasted into the Excel spreadsheet unless you use "Paste Special". If you do this, then you will be able to view the data but you will not be able to do further calculations in the Excel spreadsheet.
    Regards,
    Sarbhjeet Kaur

  • How to create a loop to run total of records for before and after unconstant date

    Post Author: Ann2
    CA Forum: Formula
    Here is the data sample:
    ID period code date
    1  00  I    01/01/1999
    1 00   Z   01/02/1999
    1 00  G   12/05/1999
    1 00  M   01/01/2000
    There are many students with many periods and many codes. I need to save a date when code = 'G' and count separateley records per student/period 2 times - before and equal that date and after that date, so in the end for period 00 I will have 2 values: 3 (before) and 1(after).
    There are periods from 00 to 08. I am counting students abscencies before and after warning letter was sent (code G).
    The result data should look : 00 01 02 03 04 05 06  07  08              00 01 02 03 04 05 06  07  08     Total
                                                3  0   0   0   0   0   0   0   0                 1 0    0   0   0   0   0   0   0        4
    Please help me.
    Thank you.
    Ann2

    Post Author: Ann2
    CA Forum: Formula
    Thank you for your answer, but I do care about the date the 'G' happened, because I need to reset count.
    The logic behind is this:if a student absent for more than 8 times per period - the letter will be sent out to the parents , that will be code 'G' with period '-1' (it may happen that there will never be code 'G' , but I need to track all absencies). Once the letter is sent, the count starts over (the count starts over the next day after code 'G'). The absencies which happened before or the date the letter sent should count toward 'previous'  abscenices, all other - absenices after the letter.
    So basically I need total per period and total per period before or the day with code 'G'.  Running total with reset with formula code = 'G' does not work.
    I created a formula field which has global date (when code 'G' happenned) and it says if globaldate >= periodDate then date (1900,01,01) else (2100,01,01) and that formula is ok, but I can not use it in running total or can not create group on it and insert total.
    Please help me with this. Thank you.
    Ann2

  • SSIS Lookup Conversion failed when converting date and/or time from character string

    Hi all,
    I'm trying to do a lookup by passing a date, however (i'm guessing) one of the dates is in a bad format and is failing the component.  How do I find the suspect row?  I set both lookup outputs to flat file but it is just erroring and not outputting
    anything.  The date being passed in is in datetime format and destination is the same data type.

    Thanks for your suggestions.  I have used ISDATE and MIN, MAX to find the maximum ranges.  ISDATE is not returning 0 in both Source and Destination (so it looks like they're all valid).  it looks like there are some null dates in from date
    column.  Would these throw a conversion error?  I'm still a bit stumped as to why i'm getting a conversion error, 1900-01-01 00:00:00.000 is still a valid date even if it's basically null.
    -- SOURCE MIN DATE = 2009-12-21 00:00:00.000
    -- SOURCE MAX DATE = 2015-06-08 00:00:00.000
    -- DESTINATION MIN FROM DATE = 1900-01-01 00:00:00.000
    -- DESTINATION MIN TO DATE = 2005-01-15 00:00:00.000
    -- DESTINATION MAX FROM DATE = 2015-10-18 00:00:00.000
    -- DESTINATION MAX TO DATE = 2145-12-31 00:00:00.000
    I will also try JAKUB's suggestion to see if the package completes with a few rows.

  • Date Format issue in my report.

    Hello Experts-
    I created a report with a date prompt, which we need to enter two dates, start date and end date.
    I followed the steps as they were in this link
    http://obiee101.blogspot.com/2009/03/obiee-between-dates-prompt.html
    I changed the condition in the prompt to Date'1900-1-1' instead of TIMESTAMP'1900-1-1- 00:00:00
    I.e.,
    CASE WHEN 1=0 THEN CALENDAR.D_DATE ELSE Date' 1900-01-01' END
    and
    CASE WHEN 1=0 THEN CALENDAR.D_DATE ELSE Date '2999-12-31' END
    I stored those two dates in two presentation variables start_date, end_date
    In my report, I imposed a filter on my table that, date coulmn in my table is between Date'@(start_date}' and Date'@{end_date}'
    But when I am running the report with entering two dates, I am getting this error:
    *State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 46046] Datetime value 12/1/2010 does not match the specified format. (HY000)*
    I entered 12/01/2010 as start date and 12/02/2010 as end_date
    Can you please guide me in this issue.

    I think your date format is in different format with the date format u stored in presentation variable so better check the date format of the case function u wrote it in you variable that will solve the problem.

  • Convert float to Date

    We have swipe system , its transactions date are storing in float format. How to convert these float number to oracle dates.
    Below I have pasted the float numers, I am able to convert these float number using excel.
    Float Number
    =========
    40814.221528
    40814.221609
    40814.221505
    40814.223727
    After converting in excel
    ===============
    9/28/11 5:19 AM
    9/28/11 5:19 AM
    9/28/11 5:18 AM
    9/28/11 5:22 AM
    I will appreciate if some body can help

    Excel (and various other Microsoft products) store dates as a float value measured in "days since january first 1900". Your swipe system uses the same format to store dates.
    When you enter 40814.221528 in Excel and tell Excel to show the column as date, Excel is simply adding 40814.221528 days to january first 1900 and showing you the output of that calculation.
    In theory therefore we can in Oracle do the same calculation as Excel does by doing this:
    select DATE '1900-01-01' + 40814.221528 from dual;But like the previous answers show you, that gives a result that is two days "wrong".
    The reason for this is most likely two things:
    <li>Microsoft probably defines january first 1900 to be "day 1" and not "day 0".
    <li>Microsoft looks like they have an error in leap year calculation.
    Therefore we can simulate the Microsoft behaviour by offsetting by two days:
    select DATE '1900-01-01' - 2 + 40814.221528 from dual;Which is the same as doing this:
    select DATE '1899-12-30' + 40814.221528 from dual;Excel is doing the same thing - adding the float value to a fixed date ;-)

  • Leaving a date parameter optional and blank, not supposed to work but it does?

    Everything I have found online (here and elsewhere) states that you cannot make a data parameter optional without setting a default value in the parameter dialogue box.  However, I tried it, and it does appear to be working.
    Now, I do have a formula that checks the value of the parm and if blank, it calculates a fiscal start date, otherwise it accepts the entered date, and that formula is what I use in my selection criteria.
    So, I have a start date and end date (not a range), and the user can leave both blank, and the report works fine. Am I missing something?  Or is this just a newer feature that I have missed in the documentation?

    thanks Abhilash...you're absolutely correct i missed that xi piece.
    in earlier versions use syntax like
    ({Orders.Order Date} >= {?DateStart} or {?DateStart}= date(1900,01,01))
    and
    ({Orders.Order Date} <= {?DateEnd} or {?DateEnd}= date(2100,01,01))
    where datestart has a default value of 1900,01,01
    and dateend has a default value of 2100,01,01
    this allows the end user to leave either datestart or dateend blank. for 2008 and later use the hasvalue method above....you can still use this syntax (with the default values) in cr2008 and later, but it's not as user friendly as you have to have those defaults.
    -jamie

  • Oracle UNIX Data Time Issue/Question

    I have a project where I need to display some data from a commercial software package. All of the tables except 1 store date values in NUMBER columns as UNIX time. I can convert these no problem, but one table has date values stored in FLOAT(126) columns and I cannot figure out how to convert them to get a valid, and accurate, date from them.
    For example, the column contains the value 38513.5775115741 which in the application front end is displayed as Friday, June 10, 2005. Does anyone see a "formula" for this?
    Maybe it's obvious and I've been trying too hard or looking at it too long for it to make sense to me....
    Thanks in advance.

    This looks close:
    SQL > select to_char(date '1900-01-01'  + 38513.5775115741,'fmDay, Month dd, yyyy','nls_date_language=american') from dual
      2   /
    TO_CHAR(DATE'1900-01-
    Sunday, June 12, 2005
    1 rij is geselecteerd.So maybe you should use 30-12-1899 or the number was really 38511.5775115741 instead of 38513.5775115741 ?
    Regards,
    Rob.

  • CR 2008: Setting currrentdate as default begin date in a date range paramet

    I have a Crystal Report with a date range parameter.
    How do I set the Begin Date to be todays date ?
    I am using a Universe as the data source.
    Thanks,

    Hi Rajesh,
    1) Is the prompt a constant value?
        If yes then type "1900/01/01" in the from value as default value. And in the report selection formula should look similar to this :
    DateVar DateParamValue:-
    If   = Date(1900,1,1)  Then
        DateParamValue := CurrentDate
    Else
        DateParamValue := {?DateParam};
        {Table.DateField} = DateParamValue;

  • Using the default date for presentation variable

    In the report I want to use the default date for the presentation variable.
    If I use the query like below,default value is giving correctly.but if I pass the date value from dashboard prompt it is throwing error
    Anybody help me to modify the below
    query to get the valid results?
    Timestampadd(SQL_TSI_day,(dayofmonth(date @{asdf}{date '1900-01-01'})*-1)+1,date @{asdf}{date '1900-01-01'})
    Edited by: user12255470 on Dec 2, 2010 12:11 PM
    Edited by: user12255470 on Dec 2, 2010 12:12 PM

    try this:
    Timestampadd(SQL_TSI_day,(dayofmonth(date '@{asdf}{1900-01-01}')*-1)+1,date '@{asdf}{1900-01-01}')
    mark answers promptly.
    J
    -bifacts
    http://www.obinotes.com
    Edited by: bifacts on Dec 2, 2010 3:21 PM

  • Metrics generation based on (birth) date ranges

    Hello all,
    Am a beginner in OBIEE. Am trying to derive some metrics out of birthdate information I have. Its a 2 part question.
    1) Count of occurrence of birthdates.
    Its a simple count(*) query and this I was able to get it done in OBIEE - all the formatting is done
    Eg:
    source data
    *19300203*
    *19300203*
    *18301203*
    *19600204*
    metrics out of that
    *19300203 - 2*
    *18301203 - 1*
    *19600204 - 1*
    2) Count of birthdate based on period distribution.
    Now, categorizing the date range in to 3 distributions.
    a) before 1900
    b) 1900 to 1950
    c) after 1950
    output will should be something like -
    before  1900 - 1
    *1900 to 1950 - 2*
    after 1950   - 1
    I tried a lot and searched in forums and now stuck really and could not proceed with this type of data generation model.
    Can you please show some pointers on how I can proceed with this?
    Many thanks.

    Hi,
    Bit tricky without more details of your model, but im guessing you have a date dimension and a fact with your count measure.
    I'd start in answers, create some 'Bins' on your date column or manually write a case statement to create the attribute you want to group the counts by (ie :
    when date < 1900 then 'Before 1900' else when < 1951 then '1900 to 1950' else 'after 1950)
    If your happy with this result, I'd move the case statement back into the RPD BMM layer as a logical column in your Date dimension and go from there. This way the grouping of dates is available across other reports and is not confined to a specific formula in the report you are currently working on.
    HTH, let us know if you get stuck.

  • Increment a number on max date

    Hi all,
    I have the following script which increments by 1 each time a particular vehicle has been into the service department after the specified date. If the same vehicle has been in twice after this date I still only want to count it once. Hence I am trying to count by the max date. At the moment my script counts each and every instance the vehicle has been in. Not sure if I am using the correct logic construct, but the existing script below nearly gives me what I need.
    Existing Script
    WhilePrintingRecords;
    NumberVar CountService;
    NumberVar CountReport;
    If maximum (,) > Date (2010, 06, 07) then
    (CountService := CountService + 1;
    CountReport := CountReport + 1)
    A snapshot of the current result looks like the following,
    Service Date            Vehicle Number                  Count Service
    19.04.2010              6FPAAAJG517840                        1
    11.06.2010              6FPAAAJG517840                        2
    24.08.2010              ABC12345891111                         3
    What I am trying to achieve
    Service Date            Vehicle Number                  Count Service
    19.04.2010              6FPAAAJG517840                        0
    11.06.2010              6FPAAAJG517840                        1
    24.08.2010              ABC12345891111                         2
    Any assistance would be GREATLY appreciated.
    Thanks KR
    Edited by: keithRichards on Jul 4, 2010 11:23 AM
    Edited by: keithRichards on Jul 4, 2010 1:04 PM

    Hi Ian,
    Thanks for that....
    I created two formulas as you said and this works a treat.
    1. If {service_retention1.RO_DATE} in Date (2008, 08, 01) to Date (2009, 07, 31) then {service_retention1.RO_DATE}
    Else Date(1900, 01 ,01)
    2. NthLargest(1,{@Test},{vehicle_inventory1.VIN})d out.
    All I need to do know is count how many dates have been picked ot.
    So far I have the following formula, but it is only counting 1. So I still have a bit of dabbling to do
    WhilePrintingRecords;
    NumberVar CountROTest;
    NumberVar CountReportTest;
    If {@TestMax} in Date (2008, 08, 01) to Date (2009, 07, 31)
    then
    (CountROTest := CountROTest + 1;
    CountReportTest := CountReportTest + 1)
    Thanks so much for all your help.
    KR

Maybe you are looking for

  • Not able to SCA to Track

    Hi Experts I am not able to load SCA file to the track Please find below the Logs 20100108124730 Info   :Starting Step Repository-import at 2010-01-08 12:47:30.0746 -5:00 20100108124730 Info   :Component:sap.com/SAP-CRMAPP 20100108124730 Info   :Vers

  • VC Model deployment error

    Hi,      I created one model in VC and deployed. But it is not get deployed. I am getting the error like 1. SALES DOCUMENT not assigned a value to cal sales order Getstatus. 2 The expression "Customer number u201Ccontains an error: Expected text valu

  • CProjects Controlling Area determination

    Hi All, I would like to ask a very basic question here. When we create a project in cProjects how does the controlling area and company code gets assigned? Means where exectly in SPRO do we define that? We do not mention the Controlling area etc. in

  • Trouble exporting to DVDSP from FCP5

    I'm having trouble exporting my sequence into DVDSP4. I've tried using Quicktime Conversion and Quicktime but the sequence doesn't import into DVDSP and neither do the menue templattes. When I attempt to convert to Quicktime a message pops up with "d

  • Should i buy an apple TV now?

    Is this a good time to buy an apple TV?  I know macrumors recommends waiting but it could be a long time before a new one comes out.  What do you think?