|
Struts example source code file (serialize.js)
The Struts serialize.js source code/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.provide("dojo.date.serialize"); dojo.require("dojo.string.common"); dojo.date.setIso8601 = function (dateObject, formattedString) { var comps = (formattedString.indexOf("T") == -1) ? formattedString.split(" ") : formattedString.split("T"); dateObject = dojo.date.setIso8601Date(dateObject, comps[0]); if (comps.length == 2) { dateObject = dojo.date.setIso8601Time(dateObject, comps[1]); } return dateObject; }; dojo.date.fromIso8601 = function (formattedString) { return dojo.date.setIso8601(new Date(0, 0), formattedString); }; dojo.date.setIso8601Date = function (dateObject, formattedString) { var regexp = "^([0-9]{4})((-?([0-9]{2})(-?([0-9]{2}))?)|" + "(-?([0-9]{3}))|(-?W([0-9]{2})(-?([1-7]))?))?$"; var d = formattedString.match(new RegExp(regexp)); if (!d) { dojo.debug("invalid date string: " + formattedString); return null; } var year = d[1]; var month = d[4]; var date = d[6]; var dayofyear = d[8]; var week = d[10]; var dayofweek = d[12] ? d[12] : 1; dateObject.setFullYear(year); if (dayofyear) { dateObject.setMonth(0); dateObject.setDate(Number(dayofyear)); } else { if (week) { dateObject.setMonth(0); dateObject.setDate(1); var gd = dateObject.getDay(); var day = gd ? gd : 7; var offset = Number(dayofweek) + (7 * Number(week)); if (day <= 4) { dateObject.setDate(offset + 1 - day); } else { dateObject.setDate(offset + 8 - day); } } else { if (month) { dateObject.setDate(1); dateObject.setMonth(month - 1); } if (date) { dateObject.setDate(date); } } } return dateObject; }; dojo.date.fromIso8601Date = function (formattedString) { return dojo.date.setIso8601Date(new Date(0, 0), formattedString); }; dojo.date.setIso8601Time = function (dateObject, formattedString) { var timezone = "Z|(([-+])([0-9]{2})(:?([0-9]{2}))?)$"; var d = formattedString.match(new RegExp(timezone)); var offset = 0; if (d) { if (d[0] != "Z") { offset = (Number(d[3]) * 60) + Number(d[5]); offset *= ((d[2] == "-") ? 1 : -1); } offset -= dateObject.getTimezoneOffset(); formattedString = formattedString.substr(0, formattedString.length - d[0].length); } var regexp = "^([0-9]{2})(:?([0-9]{2})(:?([0-9]{2})(.([0-9]+))?)?)?$"; d = formattedString.match(new RegExp(regexp)); if (!d) { dojo.debug("invalid time string: " + formattedString); return null; } var hours = d[1]; var mins = Number((d[3]) ? d[3] : 0); var secs = (d[5]) ? d[5] : 0; var ms = d[7] ? (Number("0." + d[7]) * 1000) : 0; dateObject.setHours(hours); dateObject.setMinutes(mins); dateObject.setSeconds(secs); dateObject.setMilliseconds(ms); if (offset !== 0) { dateObject.setTime(dateObject.getTime() + offset * 60000); } return dateObject; }; dojo.date.fromIso8601Time = function (formattedString) { return dojo.date.setIso8601Time(new Date(0, 0), formattedString); }; dojo.date.toRfc3339 = function (dateObject, selector) { if (!dateObject) { dateObject = new Date(); } var _ = dojo.string.pad; var formattedDate = []; if (selector != "timeOnly") { var date = [_(dateObject.getFullYear(), 4), _(dateObject.getMonth() + 1, 2), _(dateObject.getDate(), 2)].join("-"); formattedDate.push(date); } if (selector != "dateOnly") { var time = [_(dateObject.getHours(), 2), _(dateObject.getMinutes(), 2), _(dateObject.getSeconds(), 2)].join(":"); var timezoneOffset = dateObject.getTimezoneOffset(); time += (timezoneOffset > 0 ? "-" : "+") + _(Math.floor(Math.abs(timezoneOffset) / 60), 2) + ":" + _(Math.abs(timezoneOffset) % 60, 2); formattedDate.push(time); } return formattedDate.join("T"); }; dojo.date.fromRfc3339 = function (rfcDate) { if (rfcDate.indexOf("Tany") != -1) { rfcDate = rfcDate.replace("Tany", ""); } var dateObject = new Date(); return dojo.date.setIso8601(dateObject, rfcDate); }; Other Struts examples (source code examples)Here is a short list of links related to this Struts serialize.js source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.