Custome Date Object With PHP-like Text-parsed Output

Dec 6, 2002

Well, this is acutally a couple different scripts. First is the custom date object myDate which retrieves pretty much every value that you'd need from a date and sets it as a property. If no argument is supplied, the current time and date is used. If you do supply an argument, you can send an existing javascript Date object, or a string that is compatible with declaring a normal javascript Date object.

The 2nd part of this script is the method getDate (and some accompanying String methods) that allow you to retrieve the date as a string by passing it a format string just like the PHP date() (http://www.php.net/manual/en/function.date.php) function accepts. The code posted below includes sufficient (I think) examples to help you understand what is going on. You will notice that I didn't duplicate EVERY code over from PHP, and a few are slightly different. Those that I left out I felt weren't very necessary, or I didn't feel like doing the algorithm for them :D.

Both myDateObj.getDate() and PHP's date() allow you to include text into the string that you don't want parsed, but each handles it differently. In PHP, you need to escape characters normally with a backslash. For getDate you need to proceed each character with a pipe "|". So, instead of$dateStr = date("Day z");as it would be in PHP, you would usevar d = new myDate();
var dateStr = d.getDate("D|a|y| z");There are more examples of how this works below.

Note: There is also a nice arrayReplace() method for strings that is handy for doing multiple replace() operations all at once, so I guess this is really like 3 handy scripts ;)

<html>
<head>
<title>test</title>
<meta http-equiv="expires" content="0">
<script type="text/javascript">

/*** First Part of Script, the custom date object ***/

function myDate(dateStr) {
if (typeof dateStr != 'undefined') {
var d = new Date(dateStr);
this.dateString = dateStr;
}
else if (typeof dateStr == 'object')
var d = dateStr;
else
var d = new Date();
var months = ['January','February','March','April','May','June','July','August','September','October','November',' December'];
var weekDays = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
var monthDays = [31,28,31,30,31,30,31,31,30,31,30,31];

this.epoch = d.getTime();
this.epochS = Math.round(this.epoch / 1000);
this.year4 = d.getFullYear();
this.year2 = parseInt(this.year4.toString().substring(2));
this.leap = (this.year4 % 400 == 0) ? true : (this.year4 % 4 == 0 && this.year4 % 100 != 0) ? true : false;
if (this.leap) monthDays[1]++;
this.mnth = d.getMonth();
this.month = this.mnth + 1;
this.month_2 = leadingZero(this.month);
this.monthName = months[this.mnth];
this.monthNameShort = this.monthName.substring(0,3);
this.days = monthDays[this.mnth];
this.dy = d.getDay();
this.day = this.dy + 1;
this.dayName = weekDays[this.dy];
this.dayNameShort = this.dayName.substring(0,3);
this.date = d.getDate();
this.date_2 = leadingZero(this.date);
this.suffix = (this.date % 10 == 1 ) ? "st" : (this.date % 10 == 2) ? "nd" : (this.date % 10 == 3) ? "rd" : "th";
this.hours24 = d.getHours();
this.hours24_2 = leadingZero(this.hours24)
this.hours12 = (this.hours24 == 0) ? 12 : (this.hours24 > 12) ? this.hours24-12 : this.hours24;
this.hours12_2 = leadingZero(this.hours12);
this.minutes = d.getMinutes();
this.minutes_2 = leadingZero(this.minutes);
this.seconds = d.getSeconds();
this.seconds_2 = leadingZero(this.seconds);
this.millis = d.getMilliseconds();
this.ampm = (this.hours24 == 0) ? "am" : (this.hours24 >= 12) ? "pm" : "am";
this.GMTstring = d.toGMTString();
this.offset = d.getTimezoneOffset();

function leadingZero(num) {
return (num < 10) ? "0" + num : num.toString();
}
}

myDate.prototype.getDayOfYear = function() {
var total = 0;
var monthDays = [31,28,31,30,31,30,31,31,30,31,30,31];
if (this.leap) monthDays[1]++;
for (var i=0; i<this.mnth; total += monthDays[i++]) {}
total += this.date;
return total;
}

/*** Second part of script, the PHP-like parsed output ***/

myDate.prototype.getDate = function(str) {
var p = ['a','A','B','d','D','F','g','G','h','H','i','I','j','l','L','m','M','n','O','r','s','S','t','T','U', 'w','W','Y','y','z','Z'];
var r = new Array();
var i = 0;
var delChar = "|";
var sNull = "null".delimit(delChar)
r[i++] = this.ampm.delimit(delChar);
r[i++] = this.ampm.toUpperCase().delimit(delChar);
r[i++] = sNull;
r[i++] = this.date_2;
r[i++] = this.dayNameShort.delimit(delChar);
r[i++] = this.monthName.delimit(delChar);
r[i++] = this.hours12;
r[i++] = this.hours24;
r[i++] = this.hours12_2;
r[i++] = this.hours24_2;
r[i++] = this.minutes_2;
r[i++] = sNull;
r[i++] = this.date;
r[i++] = this.dayName.delimit(delChar);
r[i++] = (this.leap)?1:0;
r[i++] = this.month_2;
r[i++] = this.monthNameShort.delimit(delChar);
r[i++] = this.month;
r[i++] = this.offset;
r[i++] = this.GMTstring.delimit(delChar);
r[i++] = this.seconds_2;
r[i++] = this.suffix.delimit(delChar);
r[i++] = this.days;
r[i++] = sNull;
r[i++] = this.epochS;
r[i++] = this.dy;
r[i++] = sNull;
r[i++] = this.year4;
r[i++] = this.year2;
r[i++] = this.getDayOfYear();
r[i++] = sNull;
for (i=0; i<p.length; i++)
p[i] = "/" + p[i] + "(?!|)/g";
return str.arrayReplace(p, r).replace(/|/g,"");
}

String.prototype.arrayReplace = function(arrP, arrR) {
var p, s = this;
for (var i=0; i<arrP.length; i++) {
var flags = arrP[i].substring(arrP[i].lastIndexOf("/")+1);
var regex = arrP[i].substring(1,arrP[i].lastIndexOf("/"));
p = new RegExp(regex, flags);
s = s.replace(p, arrR[i]);
}
return s;
}

String.prototype.delimit = function(char) {
var s = "";
for (var i=0; i<this.length; i++) {
s += this.charAt(i) + char;
}
return s;
}

</script>
</head>

<body>

<script type="text/javascript">

/*** Example using current date/time ***/

var md1 = new myDate();
document.write(md1.getDate("l jS of F Y h:i:s A")+"<br>");
document.write(md1.getDate("T|o|d|a|y| i|s| m.d.y")+"<br>");
document.write(md1.getDate("D M j G:i:s Y")+"<br>");
document.write("It " + (md1.leap?"is":"is not") + " a leap year<br>");
document.write("The unix epoch occurred " + md1.epochS + " seconds ago");
document.write("<hr>");

/*** Example using javascript Date object as argument ***/

var d1 = new Date(2000, 01, 02, 15, 15, 15);
var md2 = new myDate(d1);
document.write(md2.getDate("l jS of F Y h:i:s A")+"<br>");
document.write(md2.getDate("T|o|d|a|y| i|s| m.d.y")+"<br>");
document.write(md2.getDate("D M j G:i:s Y")+"<br>");
document.write("It " + (md2.leap?"is":"is not") + " a leap year<br>");
document.write("The unix epoch occurred " + md2.epochS + " seconds ago");
document.write("<hr>");

/*** Example using Date object compatible string as argument ***/

var md3 = new myDate("December 10, 1978 12:23:00");
document.write(md3.getDate("l jS of F Y h:i:s A")+"<br>");
document.write(md3.getDate("T|o|d|a|y| i|s| m.d.y")+"<br>");
document.write(md3.getDate("D M j G:i:s Y")+"<br>");
document.write("It " + (md3.leap?"is":"is not") + " a leap year<br>");
document.write("The unix epoch occurred " + md3.epochS + " seconds ago");
</script>
</body>
</html>

View 4 Replies


ADVERTISEMENT

JQuery :: Date Range - Start Date And End Date Text Boxs

Feb 6, 2010

I have a start date and end date text boxs. What I would like to achieve is when a submit button is clicked all the available dates between start and end dates should be displayed together with 3 check boxes next to each date (please see below). I am just wondering whether that'sachievablewith jquery, and if so, how I might be able to implement this.

Start date End date

View 8 Replies View Related

Object Document Display - When The Data Is Loaded To The Jsp Page It Displays [object Document] In Front Of My Output?

Mar 2, 2011

I have created a servlet that does nothing more than create a XML file.i have got some JQuery code that reloads the servlet to get the XML data.This works fine and i am able to load the data i want, the problem i have is that when the data is loaded to the jsp page it displays [object Document] in front of my output.

Code JavaScript:
$(document).ready(function() {
setInterval(function() {[code]....

XML file only has one value, called row 1 with the data, "wow this is cool", but my output is: [object Document]

View 1 Replies View Related

Create A New Template Object That Inherits From The Built In Date Object

Oct 6, 2011

Is there any way at all to create a new template object that inherits from the built in Date object so as to be able to add new methods to that child object without adding them to the built in Date object? I've tried everything I can think of and as far as I can tell it keeps referencing the Date function instead of the Date object and so doesn't work.

View 3 Replies View Related

Output Text When Text Is Entered To A Text Area?

Dec 16, 2010

As of right now I have a code that will work in IE but wont work in FireFox...go figure. Basically what I want to have happen is when you type in an area code it will provide an output in a predetermined area of the page.

For Example:
Input- 512
Output - Austin, TX

The code that I have doesn't work with firefox and I was just wondering if there was a code that would allow that to happen.

View 1 Replies View Related

Cached Javascript .js Files Parsed

May 30, 2007

Lets say you have a 1000 line javascript file which is linked to an everyday html file. The browser is set, by default, cache the linked javascript file (after downloading and interpreting it).

But once it's cached and put into a temp directory on the client's computer, is the cached file in an already parsed format? Or something relative? Or is it in the same format as it was on the server-side? This would mean that the .js file is parsed each time the exact same way (as long as the file itself is not changed, deleted, or renewed on the server-side).

View 2 Replies View Related

Removing A XML File That Has Been Parsed Via Ajax?

Dec 14, 2007

how to remove an XML file that I have parsed. My goal is to be able to add n number of XML files and have the ability to remove a parsed file. So, my question is, how can I remove the file I have just parsed? Code:

View 1 Replies View Related

JQuery :: Embed Data Parsed From URL Into HTML?

Feb 15, 2011

I'm trying to grab a variable from a URL and dynamically embed it into HTML code. So for instance, if I own the site test.com and I enterideo=bunny.mp4&height=720&width=480",I want the returned page to be an embedded video of bunny.mp4 at the height and width specified. I know the embed code, I just need to know how to parse the URL and write it inside of the HTML.

View 11 Replies View Related

JQuery :: Cache The Sizzle Parsed Strings?

Apr 21, 2010

The scenario would be something like checking if an element fulfills some complex conditions, something like if(myElement.is('div.someClass[someAttribute], td.someOtherClass[someAttribute]')) ... . Is there a way to parse that string only once, maybe create some sort of "compiled" version of the check, cache it, then give it to is ? Or does jQuery cache the string after parsing it once so I don't have to do anything?

View 3 Replies View Related

Date Object

Jul 23, 2005

How do check for a date object?

<script type="text/javascript">
var d=new Date()
var arr=new Array("Jun 5",d,"Mar 16")
for(i=0;i<arr.length;i++){
if(arr[i] != Date()) // is string or is not date object
document.write(arr[i] + "<br>")
}
</script>

View 1 Replies View Related

Form Output To A Text File

Jul 23, 2005

Can JavaScript be used to write the output from an HTML form to a text file? The scenario would be that the form has text fields and checkboxes and will only output the text fields that have data entered along with the checkboxes that the user has selected.

View 3 Replies View Related

Editing A Text String For Output?

Apr 22, 2009

Here is the string:

Jim Peterson 21 | Ed N 31 | Mary Joe 24 | jennifer baley 22

I am trying to grab all the text other than the "|" and output that to a text field (or global variable)..

How can we do this? I can't seem to find any scripts that show me exactly how to delete all those "|"...

is there a way to put "jim peterson 21" and "ed n 31", etc.. into their own variables?

View 2 Replies View Related

Output Text In Two Separate Divs?

Nov 4, 2009

I've used a function to out put two lists, - loco numbers and loco names - which I want to display side by side on a page, either in two adjacent divs or in a two-column table so that viewers can straight away reference the numbers with the associated names.

I can output it as a document.write - but that just results in one continuous list of numbers and then names. explain how to output the two lists in two separate divs.

View 3 Replies View Related

Date () Object In Safari

Jul 20, 2005

According to the Safari browser the world began on "Fri Dec 13 1901 15:45:52 GMT-0500", but I need to be able to get around this limitation.

I am interested in dates from 1500 to 1901, as far as I can determine, there are 14 possible calendar variations.

Year starts on Sun, Mon..... Leap year starts on Sun, Mon..

I can label these early year "types" as a number between 0 and 13.

Let's say 2005 is type 5, and that 1655 is too. (In both years Jan 1 falls on a Saturday)

I'm trying to create a function that will identify the "type" of year.

function getYearType(year){
return Number // number between 0 and 13
}

View 7 Replies View Related

Storing Text From Dynamically Generated Output?

Jan 23, 2011

I have script that is dynamically generating updates on my page. The code is this:

Code:

<a id="cc_stream_info_song" target="new">Loading...</a>

The id tag links to a js script on a remote server and replaces the "loading" text with the song title of the currently playing song on my shoutcast server, and refreshes this every 60 seconds. I want to be able to grab this song title and put it in a php variable. I don't have access to the remote server, so I don't have any other way of getting the updated song title outside of this little snippet. I tried using php output buffering but all that does is grab the html I posted above, and not the javascript-generated song title.

View 1 Replies View Related

2 Level Combo Box Output Text Same Page

Oct 1, 2009

I have a 2 level combo box that are dependent on each other and what I want to happen when the "submit" button is selected is for an html text answer to be displayed on the same page below the combo boxes based off of what was selected in the second combo box. I've tried using hide/show functions with JavaScript but couldn't figure out how to link the 2 scripts together.

What I have is as follows:

View 2 Replies View Related

Receive The Output Of An Array From A Text Input?

Mar 12, 2011

I am trying to receive the output of an array from a text input here is the code that I am attempting to do but it is not displaying the output January

Here is the code example

[CODE]
<html>
<script type ="text/javascript">
<!--
function coms(str){

[Code]....

View 2 Replies View Related

Output Text After This JS Progressbar Finish Loading?

Jun 27, 2010

I'm using this progress bar from http://www.dynamicdrive.com/dynamici...rogressbar.htm and I want to be able to display some text after the bar finishes loading.

I figured out out to get it to output the text, but it loads in a new page. I want to get it to load where the bar is located. Here's how I'm placing the code ...

That shows the bar in the middle of my table, when it finishes it just opens to a new page saying hello world at the top. Is there a way to get it to spit out hello world in place of the bar, or at least in that table?

View 4 Replies View Related

List Box Output To Generate Text In Body?

Sep 24, 2010

I would like for the information selected in the list boxes to automatically build/generate text in the body of the page below the text boxes. Please see the attached image for an idea of what I mean.As more boxes are selected, the rest of the Part Number is generated.This is somewhat similar to chained list box, but instead of generating a 2nd list box, I want each list box to generate into it's own cell at the bottom of the page.

View 2 Replies View Related

Cascading / Output Dropdown With Result In Text Box

Oct 18, 2011

I am trying to create a 'document name generator' to standardise our document naming. I have created a template using cascading drop down menus, which is what I am after so far. how to output the results of my dropdown in to a text box. Idealy I would like to have the name as a string. For example, selecting Business - Projects - Test3 and typing in the date would result in a text box containing all three results "Business Projects Test3 18/10/2011"

HTML Code:
}
<body>
<script type="text/javascript">
//Applies cascading behavior for the specified dropdowns
function applyCascadingDropdown(sourceId, targetId) {
var source = document.getElementById(sourceId);
var target = document.getElementById(targetId);
[Code]....

View 3 Replies View Related

Subtract A Day To Date Object Using 'myDate - 1'

May 29, 2007

Am i breaking any rules when I loop dates like

// Determine Memorial Day
intFlag = 0;
memDayHol = new Date (currentYear, 4, 31);
while (intFlag == 0) {
if (memDayHol.getDay() == 1) {intFlag =1;}
else {memDayHol = memDayHol - 1;}
}

I can find no docs that one can use the '+' operator directly on a date
object, and it assumes adding/subtracting a day(s). Is this deprecated
code?

View 10 Replies View Related

Extend The Constructor For The Date Object?

Jul 9, 2010

How to extend the constructor for the date object of the javasccript so that whenever a call is made to the constructor, I want to perform a particular action? Basically how to define wrappers for default javascript methods or objects like Date() so that I can perform some action and then invoke the original method? So basically if I have something like var a = new Date(); I want it to (say) alert the value of the date everything Date() is called and then execute the default date constructor.

View 3 Replies View Related

Date Object - Value Assignment Not Reference ?

Feb 7, 2011

The goal is for selectedDay to be assigned the value of the system variable Mainpackage.subclass0.subclass1.firstDay and then incremented by two days. Mainpackage.subclass0.subclass1.firstDay needs to be unchanged.

Important system variable in red. To be 'manipulated and used' variable in green. Even with an intermediary, third, dummy variable it doesn't work:

Console log is:

It doesn't work in my webapp : All variables change at the same time.

View 4 Replies View Related

Create A Date Object From An ISO8601string?

Jun 15, 2011

I was wondering how you would create a javascript Date object from an ISO8601 string? We have done this successfully in FF4, but not IE.

If we try the following in FF4 it works:

alert(new Date("20091107T12:15:00))

In IE it returns:

'NaN'

What would be the Date standard used in JavaScript and AJAX from the server to the client? We were thinking about using UTC

View 1 Replies View Related

Convert String To Date Object ?

Dec 16, 2005

Is it possible to convert a String of date like 12/25/2005 01:00PM to a Date object?

View 14 Replies View Related

Date Object, Consistent UTC Time?

May 3, 2010

I have a question about what the most certain method to obtain the correct UTC time in javascript is.On my forum, there is a countdown clock, that should show the same amount, wherever the user is located. I use UTC in javascript to get the current time, but I have trouble getting consistent results.I have tried two methods:Method 1:

Code:
var d = new Date();
var localTime = d.getTime();

[code]......

View 7 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved