diff options
author | Kent Hansen <khansen@trolltech.com> | 2009-06-29 14:33:11 (GMT) |
---|---|---|
committer | Kent Hansen <khansen@trolltech.com> | 2009-06-29 14:33:11 (GMT) |
commit | ec77bff0731d9388d5c8abea782468a1ad16b633 (patch) | |
tree | 63c6452eeb32deaebe1ca5c839c2a4512cac3e0f /src/3rdparty/webkit/JavaScriptCore/runtime/DateConversion.cpp | |
parent | 92a708a2e6271bbfeac9a6e80cf30aba8fd092b9 (diff) | |
parent | 4a82d7cc185bd98ec8183fb0ccadefd3196b3ee2 (diff) | |
download | Qt-ec77bff0731d9388d5c8abea782468a1ad16b633.zip Qt-ec77bff0731d9388d5c8abea782468a1ad16b633.tar.gz Qt-ec77bff0731d9388d5c8abea782468a1ad16b633.tar.bz2 |
Merge branch 'qtwebkit-4.6-staging' into qtscript-jsc-backend
Conflicts:
src/script/api/qscriptable.cpp
src/script/api/qscriptclasspropertyiterator.cpp
src/script/api/qscriptcontext.cpp
src/script/api/qscriptengine.h
src/script/api/qscriptengineagent.cpp
src/script/api/qscriptextensionplugin.cpp
src/script/api/qscriptvalue.h
src/script/api/qscriptvalueiterator.cpp
src/script/parser/qscript.g
src/script/parser/qscriptast.cpp
src/script/parser/qscriptast_p.h
src/script/parser/qscriptastvisitor_p.h
src/script/parser/qscriptgrammar.cpp
src/script/parser/qscriptgrammar_p.h
src/script/parser/qscriptlexer.cpp
src/script/parser/qscriptlexer_p.h
src/script/parser/qscriptparser.cpp
src/script/parser/qscriptparser_p.h
src/script/parser/qscriptsyntaxchecker.cpp
src/script/qscriptable.h
src/script/qscriptable_p.h
src/script/qscriptarray_p.h
src/script/qscriptasm.cpp
src/script/qscriptasm_p.h
src/script/qscriptastfwd_p.h
src/script/qscriptastvisitor.cpp
src/script/qscriptbuffer_p.h
src/script/qscriptclass.cpp
src/script/qscriptclass.h
src/script/qscriptclass_p.h
src/script/qscriptclassdata.cpp
src/script/qscriptclassdata_p.h
src/script/qscriptclassinfo_p.h
src/script/qscriptclasspropertyiterator.h
src/script/qscriptclasspropertyiterator_p.h
src/script/qscriptcompiler.cpp
src/script/qscriptcompiler_p.h
src/script/qscriptcontext.h
src/script/qscriptcontext_p.cpp
src/script/qscriptcontext_p.h
src/script/qscriptcontextfwd_p.h
src/script/qscriptcontextinfo.cpp
src/script/qscriptcontextinfo.h
src/script/qscriptcontextinfo_p.h
src/script/qscriptecmaarray.cpp
src/script/qscriptecmaarray_p.h
src/script/qscriptecmaboolean.cpp
src/script/qscriptecmaboolean_p.h
src/script/qscriptecmacore.cpp
src/script/qscriptecmacore_p.h
src/script/qscriptecmadate.cpp
src/script/qscriptecmadate_p.h
src/script/qscriptecmaerror.cpp
src/script/qscriptecmaerror_p.h
src/script/qscriptecmafunction.cpp
src/script/qscriptecmafunction_p.h
src/script/qscriptecmaglobal.cpp
src/script/qscriptecmaglobal_p.h
src/script/qscriptecmamath.cpp
src/script/qscriptecmamath_p.h
src/script/qscriptecmanumber.cpp
src/script/qscriptecmanumber_p.h
src/script/qscriptecmaobject.cpp
src/script/qscriptecmaobject_p.h
src/script/qscriptecmaregexp.cpp
src/script/qscriptecmaregexp_p.h
src/script/qscriptecmastring.cpp
src/script/qscriptecmastring_p.h
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptengine_p.h
src/script/qscriptengineagent.h
src/script/qscriptengineagent_p.h
src/script/qscriptenginefwd_p.h
src/script/qscriptextensioninterface.h
src/script/qscriptextensionplugin.h
src/script/qscriptextenumeration.cpp
src/script/qscriptextenumeration_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
src/script/qscriptextvariant.cpp
src/script/qscriptextvariant_p.h
src/script/qscriptfunction.cpp
src/script/qscriptfunction_p.h
src/script/qscriptgc_p.h
src/script/qscriptglobals_p.h
src/script/qscriptmember_p.h
src/script/qscriptmemberfwd_p.h
src/script/qscriptmemorypool_p.h
src/script/qscriptnameid_p.h
src/script/qscriptnodepool_p.h
src/script/qscriptobject_p.h
src/script/qscriptobjectdata_p.h
src/script/qscriptobjectfwd_p.h
src/script/qscriptrepository_p.h
src/script/qscriptstring.cpp
src/script/qscriptstring.h
src/script/qscriptstring_p.h
src/script/qscriptsyntaxchecker_p.h
src/script/qscriptsyntaxcheckresult_p.h
src/script/qscriptvalue.cpp
src/script/qscriptvalue_p.h
src/script/qscriptvaluefwd_p.h
src/script/qscriptvalueimpl.cpp
src/script/qscriptvalueimpl_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/qscriptvalueiterator.h
src/script/qscriptvalueiterator_p.h
src/script/qscriptvalueiteratorimpl.cpp
src/script/qscriptvalueiteratorimpl_p.h
src/script/visitors/qscriptprettypretty.cpp
src/script/visitors/qscriptprettypretty_p.h
src/script/visitors/qscriptxmlgenerator.cpp
src/script/visitors/qscriptxmlgenerator_p.h
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/runtime/DateConversion.cpp')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/runtime/DateConversion.cpp | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DateConversion.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/DateConversion.cpp new file mode 100644 index 0000000..a725478 --- /dev/null +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DateConversion.cpp @@ -0,0 +1,101 @@ +/* + * Copyright (C) 1999-2000 Harri Porten (porten@kde.org) + * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. + * Copyright (C) 2009 Google Inc. All rights reserved. + * + * The Original Code is Mozilla Communicator client code, released + * March 31, 1998. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Alternatively, the contents of this file may be used under the terms + * of either the Mozilla Public License Version 1.1, found at + * http://www.mozilla.org/MPL/ (the "MPL") or the GNU General Public + * License Version 2.0, found at http://www.fsf.org/copyleft/gpl.html + * (the "GPL"), in which case the provisions of the MPL or the GPL are + * applicable instead of those above. If you wish to allow use of your + * version of this file only under the terms of one of those two + * licenses (the MPL or the GPL) and not to allow others to use your + * version of this file under the LGPL, indicate your decision by + * deletingthe provisions above and replace them with the notice and + * other provisions required by the MPL or the GPL, as the case may be. + * If you do not delete the provisions above, a recipient may use your + * version of this file under any of the LGPL, the MPL or the GPL. + */ + +#include "config.h" +#include "DateConversion.h" + +#include "UString.h" +#include <wtf/DateMath.h> +#include <wtf/StringExtras.h> + +using namespace WTF; + +namespace JSC { + +double parseDate(const UString &date) +{ + return parseDateFromNullTerminatedCharacters(date.UTF8String().c_str()); +} + +UString formatDate(const GregorianDateTime &t) +{ + char buffer[100]; + snprintf(buffer, sizeof(buffer), "%s %s %02d %04d", + weekdayName[(t.weekDay + 6) % 7], + monthName[t.month], t.monthDay, t.year + 1900); + return buffer; +} + +UString formatDateUTCVariant(const GregorianDateTime &t) +{ + char buffer[100]; + snprintf(buffer, sizeof(buffer), "%s, %02d %s %04d", + weekdayName[(t.weekDay + 6) % 7], + t.monthDay, monthName[t.month], t.year + 1900); + return buffer; +} + +UString formatTime(const GregorianDateTime &t, bool utc) +{ + char buffer[100]; + if (utc) { + snprintf(buffer, sizeof(buffer), "%02d:%02d:%02d GMT", t.hour, t.minute, t.second); + } else { + int offset = abs(gmtoffset(t)); + char timeZoneName[70]; + struct tm gtm = t; + strftime(timeZoneName, sizeof(timeZoneName), "%Z", >m); + + if (timeZoneName[0]) { + snprintf(buffer, sizeof(buffer), "%02d:%02d:%02d GMT%c%02d%02d (%s)", + t.hour, t.minute, t.second, + gmtoffset(t) < 0 ? '-' : '+', offset / (60*60), (offset / 60) % 60, timeZoneName); + } else { + snprintf(buffer, sizeof(buffer), "%02d:%02d:%02d GMT%c%02d%02d", + t.hour, t.minute, t.second, + gmtoffset(t) < 0 ? '-' : '+', offset / (60*60), (offset / 60) % 60); + } + } + return UString(buffer); +} + +} // namespace JSC |