Avatar billede the-lion Nybegynder
07. maj 2002 - 00:00 Der er 18 kommentarer og
3 løsninger

Dato format?

På min win maskine kører jeg PWS, og når jeg så udtrækker en dato, bliver den i denne streng XX-XX-XX
men når jeg så smider det ud på serveren bliver året med alle 4 cifre (XX-XX-XXXX)
Hvad kan jeg gøre for at få den til det samme begge steder og hvorfor gørt den det?
Avatar billede the-lion Nybegynder
07. maj 2002 - 00:01 #1
jeg bruger i ASP kommandoen Date til at få datoen med...
Avatar billede -sofus- Nybegynder
07. maj 2002 - 00:03 #2
Avatar billede askhoej Praktikant
07. maj 2002 - 00:04 #3
Datoen er afhængig af Serveren datoformat indstillinger

<html>
<title>tid og dato</title>
<head>
</head>
<body>

<dl>

<dt>vbLongDate</dt>
<dd><% Response.Write FormatDateTime(Now, vbLongDate) %></dd>

<dt>vbShortDate</dt>
<dd><% Response.Write FormatDateTime(Now, vbShortDate) %></dd>

<dt>vbLongTime</dt>
<dd><% Response.Write FormatDateTime(Now, vbLongTime) %></dd>

<dt>vbShortTime</dt>
<dd><% Response.Write FormatDateTime(Now, vbShortTime) %></dd>

</dl>

<p>
<%
Response.Write "Den " & FormatDateTime(Now, vbLongDate)
Response.Write " kl. " & FormatDateTime(Now, vbShortTime)
%>
</p>

</body>
</html>
Avatar billede the-lion Nybegynder
07. maj 2002 - 00:07 #4
tjaaa der står der godt nok noget, men det giver 100% det samme problem...
Avatar billede the-lion Nybegynder
07. maj 2002 - 00:08 #5
FormatDateTime(Now, vbShortDate)
Dette er den kommando jeg finder bedst lignende, men den giver samme problem med forskel på lokal pc og server?
Avatar billede the-lion Nybegynder
07. maj 2002 - 00:20 #6
Jeg har også forsøgt denne kode : FormatDateTime(date(),vbgeneraldate)
og desværre også med samme fejl....
Avatar billede askhoej Praktikant
07. maj 2002 - 00:22 #7
Session.LCID = 1030
FormatDateTime(Now, vbShortDate)
Avatar billede the-lion Nybegynder
07. maj 2002 - 00:28 #8
Det har jeg også i forvejen, og jeg har også forsøgt med en anden format : Setlocale(1030)
Avatar billede the-lion Nybegynder
07. maj 2002 - 00:30 #9
Men selvfølgelig hvis det er en Microsoft standard, så er der jo ikke noget at gøre (Er altid fyldt med fejl) men hvis nogen kan hjælpe, så vil jeg selvfølgelig stadig blive meget glad, da jeg desværre skal bruge det?
Avatar billede thb Nybegynder
07. maj 2002 - 00:57 #10
jeg plejer at skrive:

day(n("dato")) & "." & month(n("dato")) & " -" & year(n("dato"))

hvor n("dato") er et felt i en db, men hvis du kun vil have 2 cifre i year, så må du jo bare skrive:

if year(n("dato")) = "2000" then response.write "00"
if year(n("dato")) = "2001" then response.write "01"
if year(n("dato")) = "2002" then response.write "02"
if year(n("dato")) = "2003" then response.write "03"
if year(n("dato")) = "2004" then response.write "04"

Du kan jo være sikker på at det virker..

Thomas
Avatar billede the-lion Nybegynder
07. maj 2002 - 01:01 #11
Måske, men så er kompatibiliteten med scriptet ikke ok længere, og det tager meget at lave den ok for mange år frem i tiden....
Der må da være en måde at skrive datoformatet på så den er ens uanset severen?
Avatar billede thb Nybegynder
07. maj 2002 - 01:09 #12
mange år frem, så laver du bare et loop....
Avatar billede thb Nybegynder
07. maj 2002 - 01:12 #13
jeg ved ikke rigtigt... men det dette noget du kan bruger...
Der kommer en god smøre...

Description
Returns a Variant of subtype Date for a specified year, month, and day.
Syntax
DateSerial(year, month, day)
The DateSerial function syntax has these arguments:

Part Description
year Number between 100 and 9999, inclusive, or a numeric expression.
month Any numeric expression.
day Any numeric expression.


Remarks
To specify a date, such as December 31, 1991, the range of numbers for each DateSerial argument should be in the accepted range for the unit; that is, 1–31 for days and 1–12 for months. However, you can also specify relative dates for each argument using any numeric expression that represents some number of days, months, or years before or after a certain date.
The following example uses numeric expressions instead of absolute date numbers. Here the DateSerial function returns a date that is the day before the first day (1 – 1) of two months before August (8 – 2) of 10 years before 1990 (1990 – 10); in other words, May 31, 1980.

DateSerial(1990 - 10, 8 - 2, 1 - 1)

For the year argument, values between 0 and 99, inclusive, are interpreted as the years 1900–1999. For all other year arguments, use a complete four-digit year (for example, 1800).
When any argument exceeds the accepted range for that argument, it increments to the next larger unit as appropriate. For example, if you specify 35 days, it is evaluated as one month and some number of days, depending on where in the year it is applied. However, if any single argument is outside the range -32,768 to 32,767, or if the date specified by the three arguments, either directly or by expression, falls outside the acceptable range of dates, an error occurs.
Avatar billede the-lion Nybegynder
07. maj 2002 - 01:22 #14
Nej det er desværre ikke muligt at bruge selvom den i en response.write af den samlede variabel udskriver det samme nu, så forstår den ikke datoerne på samme måde????

HJÆÆÆÆLLLPPPP
Avatar billede thb Nybegynder
07. maj 2002 - 01:30 #15
jeg tror ikke at det kan laves på anden måde...

Hvis du har løst så kan du downloade denne vbscript hjælpe fil, der er en masse ting med dato, og så kan du se om der er noget der kan bruges... det er en ret fed fil at have...

www.volleyportal.dk/vbscript.zip
Avatar billede a1a1 Novice
07. maj 2002 - 01:39 #16
strDate = Date()
tDay = Day(strDate)
tMd = Month(strDate)
tYear = Year(strDate)
response.write "dato: " & tDay & "-" & tMd & "-" & tYear

virker..
Avatar billede the-lion Nybegynder
07. maj 2002 - 01:43 #17
Giver samme effekt som ved hjælp af lykken, tilsyneladende samme dato i en response.write sætning, men ikke når den skal sammenligne med datoen i databasen, så er det kun på den lokale maskine at det er rigtigt og stadig forkert på serveren????
Avatar billede a1a1 Novice
07. maj 2002 - 01:57 #18
jammen det er jo et andet problem du skriver jo:
og når jeg så udtrækker en dato, bliver den i denne streng....

når du "spørger" databasen skal du altid bruge åååå-mn-dd format (år-måned-dag), det er fordi SQL er "amerikansk" og derfor følger deres datoformat.
Avatar billede a1a1 Novice
07. maj 2002 - 01:58 #19
når det skrives ud følger det serverns datoformat (som jo kan være dansk)
Avatar billede the-lion Nybegynder
03. marts 2004 - 21:39 #20
Nå afslutter men takker for forsøgene!!!
Avatar billede askhoej Praktikant
03. marts 2004 - 22:17 #21
håber du har fundet en løsning i løbet af de sidste 2 år ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester