Avatar billede larsen45 Juniormester
12. februar 2018 - 09:53 Der er 34 kommentarer og
1 løsning

mariadb database udtræk dansk tid fra tabel

Hej alle sammen.

Hvordan kan jeg udtrække / konvertere til dansk tid fra en datatabase tabel.Så jeg kan få dansk dato det vil sige specielt måned vist korrekt og ikke engelsk. Webhotel kører engelsk CERT version som de kalder det, da jeg spurgte omkring dette.

Tabel: testdb
Felt: mindato (felt angivet til: datetime Y-M-D standarden).

Ønsker echo ud på dansk via mysqli forbindelse:
12 Februar 2018 08:36:02
Avatar billede erikjacobsen Ekspert
12. februar 2018 - 10:25 #1
Nu skal du jo lige være opmærksom på at på dansk er månedsnavne ikke med stort, så: februar. Men det kommer af sig selv HVIS DIN SERVER har dansk locale installeret. Den kan hedde da_DK eller som her da_DK.utf-8.  Den tager faktisk også hensyn til sommertid - så længe vi nu bøvler med det. Prøv:

<?php
  setlocale(LC_ALL,"da_DK.utf-8");
  echo strftime("%e. %B %Y %H:%M:%S",strtotime("2018-02-12 08:36:02"));
  echo "\n";
  echo strftime("%e. %B %Y %H:%M:%S",strtotime("2018-03-25 01:59:00"));
  echo "\n";
  echo strftime("%e. %B %Y %H:%M:%S",strtotime("2018-03-25 02:01:00"));
  echo "\n";
  echo strftime("%e. %B %Y %H:%M:%S",strtotime("2018-03-25 03:01:00"));
?>

Udskriver hos mig:

12. februar 2018 08:36:02
25. marts 2018 01:59:00
25. marts 2018 03:01:00
25. marts 2018 03:01:00
Avatar billede acore Ekspert
12. februar 2018 - 10:47 #2
Det kan løses på mange måder. Nu poster du i PHP, så en kombination af SQL og PHP er vel ikke udelukket?

I så fald - brug denne SELECT

SELECT DATE_FORMAT(mindato, '%e %M %Y %T') FROM testdb

Den giver datoen i det rigtige format, bortset fra engelske måendsnavne.

Det kan du så fixe i PHP med

$months_uk = array("January", "February", ..., "December");
$months_dk = array("Januar", "Februar", ..., "December");
$thedkdate = str_replace($months_uk, $months_dk, $theukdate);
Avatar billede larsen45 Juniormester
12. februar 2018 - 10:51 #3
Har lige testet virker fint, men hvad gør jeg, når jeg ønsker dette her til at vise korrekt måned, har prøvet med følgende.

setlocale(LC_ALL,"da_DK.utf-8");
echo date("d F Y H:i:s", strtotime($row["mindato"]));

Det giver mig følgende:
11 February 2018 21:05:58

Hvordan for vi det til at fremgå på dansk måned?
Avatar billede erikjacobsen Ekspert
12. februar 2018 - 10:59 #4
Det er så fordi serveren ikke har "da_DK.utf-8"  .... prøv eventuelt med  "da_DK".

Hvis serveren ikke har det, og ikke kan få det, så må vi til at programmere os ud af det.
Avatar billede acore Ekspert
12. februar 2018 - 11:17 #5
Det kan godt være svært at finde den rette kombination, men hvis du er ihærdig nok, så plejer det at lykkes (er min erfaring).

Men elers er høker-løsningen de 3 sidste linier i #2 - så får du tilmed stort begýndelsesbogstav forærende.
Avatar billede jakobdo Ekspert
12. februar 2018 - 11:20 #6
Du kan teste om denne kode virker:
<?php
$locale_data = array();
       
//Get locales from Linux terminal command locale
$locales = shell_exec('locale -a');

$locales = explode("n" , $locales);

foreach($locales as $c => $l)
{
    if(strlen($l))
    {
        $parts = explode('.' , $l);
        $lc = $parts[0];
       
        list($lcode , $ccode) = explode('_' , $lc);
       
        $lcode = strtolower($lcode);
       
        $language = $language_codes[$lcode];
        $country = $country_codes[$ccode];
       
        if(strlen($language) and strlen($country))
        {
            $locale_data[$l] = "$language - $country - {$parts[1]}";
        }
    }
}

print_r($locale_data);
?>
Avatar billede larsen45 Juniormester
12. februar 2018 - 11:22 #7
Erikjacobsen du har nok ret for jeg har test med følgende for at se af, og de har ikke givet mig dansk måned.

setlocale(LC_ALL, "danish");   
og
setlocale(LC_ALL,"da_DK.utf-8");
og
setlocale(LC_ALL, "da_DK");   
og
setlocale(LC_ALL,'da_DK.ISO8859-1');

acore er måske inde på nået af det rigtige, jeg aner dog ikke hvordan vi for kodet os ud af dette her problem.

Prøvede også lige:
setlocale(LC_ALL,'da_DK.ISO8859-1');
echo strftime('%A - %B');
mandag - februar 12. februar 2018 08:36:02 siger den, er bare ikke fra databasen tabellen af.
Avatar billede erikjacobsen Ekspert
12. februar 2018 - 11:26 #8
Feltet i databasen skal jo så helst se sådan ud, cirka, når du får det fra ind i PHP: "2018-03-25 03:01:00"    - prøv lige at skrive det ud.
Avatar billede larsen45 Juniormester
12. februar 2018 - 11:37 #9
Jeg har lige tjekket tabellen hvordan den for det ind erikjacobsen.
Det ser således ud:
2018-02-11 21:05:58

Structure ser sådan ud:
---------------------------------
Name: mindato
Type: DATETIME
Length/Value (tomt)
Default: (None)
Collation (tomt)
Attributes: (tomt)
Null (ingen afkrydsning)
A_I ( ingen afkrydsning)

Til: jakobdo den giver følgende:
Warning: shell_exec() has been disabled for security reasons in /customers/2/5/5/
Avatar billede acore Ekspert
12. februar 2018 - 11:39 #10
Hvad med

$months_uk = array("January", "February", ..., "December");
$months_dk = array("Januar", "Februar", ..., "December");

$theukdate = date("d F Y H:i:s", strtotime($row["mindato"]));
$thedkdate = str_replace($months_uk, $months_dk, $theukdate);
Avatar billede larsen45 Juniormester
12. februar 2018 - 11:51 #11
Acore den siger:
Parse error: syntax error, unexpected '...' (T_ELLIPSIS), expecting ')' in /customers/2/5/5/
Avatar billede michael_stim Ekspert
12. februar 2018 - 12:00 #12
... skal skiftes ud med resterende måneder i skrift.
Avatar billede acore Ekspert
12. februar 2018 - 12:00 #13
har du ændret detre prikker til en streng med alle månederne - i linie 2 OG 3?
Avatar billede erikjacobsen Ekspert
12. februar 2018 - 12:00 #14
Hov - siger du ikke i #7 at den udskiver

mandag - februar 12. februar 2018 08:36:02  - det sidste kommer vel fra databasen. Ik' å'?
Avatar billede larsen45 Juniormester
12. februar 2018 - 12:32 #15
Hej erikjacobsen nej det er ikke fra databasen af. Det er fordi jeg lavede flere test direkte fra hjemmesiden udenom databasen også, undskyld jeg fik skrevet forkert tidligere.

Men jeg har stadig problemer med at få dansk tid fra database tabellen af med måned. Jeg har oveni nu skrevet til kundeservice også om de ikke har en løsning på problemet, men fik svar retur, at det kunne de ikke hjælpe med, selvom de godt er klar over problemet.
Avatar billede erikjacobsen Ekspert
12. februar 2018 - 12:37 #16
Jeg forstår så stadig ikke hvordan du får det rigtige - som det ser ud:

setlocale(LC_ALL,'da_DK.ISO8859-1');
echo strftime('%A - %B');
mandag - februar

Hvis mandag og februar er udskrift fra den "echo", så virker din locale.

Hvad udskriver

  echo $row["mindato"];
  echo strtotime($row["mindato"]);
Avatar billede larsen45 Juniormester
12. februar 2018 - 12:56 #17
Følgende giver:
setlocale(LC_ALL,'da_DK.ISO8859-1');
echo date("d F Y H:i:s", strtotime($row["mindato"]));
Resultat: 11 February 2018 21:05:58  (fra databasen)

setlocale(LC_ALL,'da_DK.ISO8859-1');
echo strftime('%A - %B');
Resultat: mandag - februar. (ikke fra databasen)
Avatar billede larsen45 Juniormester
12. februar 2018 - 12:59 #18
setlocale(LC_ALL,'da_DK.ISO8859-1');
echo strtotime($row["mindato"]);
Resultat: 151838315811 (fra databasen)
Avatar billede larsen45 Juniormester
12. februar 2018 - 13:03 #19
Har fået mail retur hvor de skriver fra kundeservice de bruger UTC timezone. Kan måske hjælpe os på vej til en løsning.
Avatar billede larsen45 Juniormester
12. februar 2018 - 13:06 #20
Det vil sige:
date_default_timezone_set: Europe/London
date.timezone: UTC
Avatar billede acore Ekspert
12. februar 2018 - 13:32 #21
Prøv at køre linien:

var_dump(resourcebundle_locales(''));

og se om ikke den kommer med en liste over installerede locales. Det virker hos mig.
Avatar billede larsen45 Juniormester
12. februar 2018 - 13:43 #22
Jeg for en meget lang liste her:
--------------------------------------------

array(683) { [0]=> string(2) "af" [1]=> string(5) "af_NA" [2]=> string(5) "af_ZA" [3]=> string(3) "agq" [4]=> string(6) "agq_CM" [5]=> string(2) "ak" [6]=> string(5) "ak_GH" [7]=> string(2) "am" [8]=> string(5) "am_ET" [9]=> string(2) "ar" [10]=> string(6) "ar_001" [11]=> string(5) "ar_AE" [12]=> string(5) "ar_BH" [13]=> string(5) "ar_DJ" [14]=> string(5) "ar_DZ" [15]=> string(5) "ar_EG" [16]=> string(5) "ar_EH" [17]=> string(5) "ar_ER" [18]=> string(5) "ar_IL" [19]=> string(5) "ar_IQ" [20]=> string(5) "ar_JO" [21]=> string(5) "ar_KM" [22]=> string(5) "ar_KW" [23]=> string(5) "ar_LB" [24]=> string(5) "ar_LY" [25]=> string(5) "ar_MA" [26]=> string(5) "ar_MR" [27]=> string(5) "ar_OM" [28]=> string(5) "ar_PS" [29]=> string(5) "ar_QA" [30]=> string(5) "ar_SA" [31]=> string(5) "ar_SD" [32]=> string(5) "ar_SO" [33]=> string(5) "ar_SS" [34]=> string(5) "ar_SY" [35]=> string(5) "ar_TD" [36]=> string(5) "ar_TN" [37]=> string(5) "ar_YE" [38]=> string(2) "as" [39]=> string(5) "as_IN" [40]=> string(3) "asa" [41]=> string(6) "asa_TZ" [42]=> string(2) "az" [43]=> string(7) "az_Cyrl" [44]=> string(10) "az_Cyrl_AZ" [45]=> string(7) "az_Latn" [46]=> string(10) "az_Latn_AZ" [47]=> string(3) "bas" [48]=> string(6) "bas_CM" [49]=> string(2) "be" [50]=> string(5) "be_BY" [51]=> string(3) "bem" [52]=> string(6) "bem_ZM" [53]=> string(3) "bez" [54]=> string(6) "bez_TZ" [55]=> string(2) "bg" [56]=> string(5) "bg_BG" [57]=> string(2) "bm" [58]=> string(7) "bm_Latn" [59]=> string(10) "bm_Latn_ML" [60]=> string(2) "bn" [61]=> string(5) "bn_BD" [62]=> string(5) "bn_IN" [63]=> string(2) "bo" [64]=> string(5) "bo_CN" [65]=> string(5) "bo_IN" [66]=> string(2) "br" [67]=> string(5) "br_FR" [68]=> string(3) "brx" [69]=> string(6) "brx_IN" [70]=> string(2) "bs" [71]=> string(7) "bs_Cyrl" [72]=> string(10) "bs_Cyrl_BA" [73]=> string(7) "bs_Latn" [74]=> string(10) "bs_Latn_BA" [75]=> string(2) "ca" [76]=> string(5) "ca_AD" [77]=> string(5) "ca_ES" [78]=> string(5) "ca_FR" [79]=> string(5) "ca_IT" [80]=> string(3) "cgg" [81]=> string(6) "cgg_UG" [82]=> string(3) "chr" [83]=> string(6) "chr_US" [84]=> string(2) "cs" [85]=> string(5) "cs_CZ" [86]=> string(2) "cy" [87]=> string(5) "cy_GB" [88]=> string(2) "da" [89]=> string(5) "da_DK" [90]=> string(5) "da_GL" [91]=> string(3) "dav" [92]=> string(6) "dav_KE" [93]=> string(2) "de" [94]=> string(5) "de_AT" [95]=> string(5) "de_BE" [96]=> string(5) "de_CH" [97]=> string(5) "de_DE" [98]=> string(5) "de_LI" [99]=> string(5) "de_LU" [100]=> string(3) "dje" [101]=> string(6) "dje_NE" [102]=> string(3) "dsb" [103]=> string(6) "dsb_DE" [104]=> string(3) "dua" [105]=> string(6) "dua_CM" [106]=> string(3) "dyo" [107]=> string(6) "dyo_SN" [108]=> string(2) "dz" [109]=> string(5) "dz_BT" [110]=> string(3) "ebu" [111]=> string(6) "ebu_KE" [112]=> string(2) "ee" [113]=> string(5) "ee_GH" [114]=> string(5) "ee_TG" [115]=> string(2) "el" [116]=> string(5) "el_CY" [117]=> string(5) "el_GR" [118]=> string(2) "en" [119]=> string(6) "en_001" [120]=> string(6) "en_150" [121]=> string(5) "en_AG" [122]=> string(5) "en_AI" [123]=> string(5) "en_AS" [124]=> string(5) "en_AU" [125]=> string(5) "en_BB" [126]=> string(5) "en_BE" [127]=> string(5) "en_BM" [128]=> string(5) "en_BS" [129]=> string(5) "en_BW" [130]=> string(5) "en_BZ" [131]=> string(5) "en_CA" [132]=> string(5) "en_CC" [133]=> string(5) "en_CK" [134]=> string(5) "en_CM" [135]=> string(5) "en_CX" [136]=> string(5) "en_DG" [137]=> string(5) "en_DM" [138]=> string(5) "en_ER" [139]=> string(5) "en_FJ" [140]=> string(5) "en_FK" [141]=> string(5) "en_FM" [142]=> string(5) "en_GB" [143]=> string(5) "en_GD" [144]=> string(5) "en_GG" [145]=> string(5) "en_GH" [146]=> string(5) "en_GI" [147]=> string(5) "en_GM" [148]=> string(5) "en_GU" [149]=> string(5) "en_GY" [150]=> string(5) "en_HK" [151]=> string(5) "en_IE" [152]=> string(5) "en_IM" [153]=> string(5) "en_IN" [154]=> string(5) "en_IO" [155]=> string(5) "en_JE" [156]=> string(5) "en_JM" [157]=> string(5) "en_KE" [158]=> string(5) "en_KI" [159]=> string(5) "en_KN" [160]=> string(5) "en_KY" [161]=> string(5) "en_LC" [162]=> string(5) "en_LR" [163]=> string(5) "en_LS" [164]=> string(5) "en_MG" [165]=> string(5) "en_MH" [166]=> string(5) "en_MO" [167]=> string(5) "en_MP" [168]=> string(5) "en_MS" [169]=> string(5) "en_MT" [170]=> string(5) "en_MU" [171]=> string(5) "en_MW" [172]=> string(5) "en_MY" [173]=> string(5) "en_NA" [174]=> string(5) "en_NF" [175]=> string(5) "en_NG" [176]=> string(5) "en_NR" [177]=> string(5) "en_NU" [178]=> string(5) "en_NZ" [179]=> string(5) "en_PG" [180]=> string(5) "en_PH" [181]=> string(5) "en_PK" [182]=> string(5) "en_PN" [183]=> string(5) "en_PR" [184]=> string(5) "en_PW" [185]=> string(5) "en_RW" [186]=> string(5) "en_SB" [187]=> string(5) "en_SC" [188]=> string(5) "en_SD" [189]=> string(5) "en_SG" [190]=> string(5) "en_SH" [191]=> string(5) "en_SL" [192]=> string(5) "en_SS" [193]=> string(5) "en_SX" [194]=> string(5) "en_SZ" [195]=> string(5) "en_TC" [196]=> string(5) "en_TK" [197]=> string(5) "en_TO" [198]=> string(5) "en_TT" [199]=> string(5) "en_TV" [200]=> string(5) "en_TZ" [201]=> string(5) "en_UG" [202]=> string(5) "en_UM" [203]=> string(5) "en_US" [204]=> string(11) "en_US_POSIX" [205]=> string(5) "en_VC" [206]=> string(5) "en_VG" [207]=> string(5) "en_VI" [208]=> string(5) "en_VU" [209]=> string(5) "en_WS" [210]=> string(5) "en_ZA" [211]=> string(5) "en_ZM" [212]=> string(5) "en_ZW" [213]=> string(2) "eo" [214]=> string(2) "es" [215]=> string(6) "es_419" [216]=> string(5) "es_AR" [217]=> string(5) "es_BO" [218]=> string(5) "es_CL" [219]=> string(5) "es_CO" [220]=> string(5) "es_CR" [221]=> string(5) "es_CU" [222]=> string(5) "es_DO" [223]=> string(5) "es_EA" [224]=> string(5) "es_EC" [225]=> string(5) "es_ES" [226]=> string(5) "es_GQ" [227]=> string(5) "es_GT" [228]=> string(5) "es_HN" [229]=> string(5) "es_IC" [230]=> string(5) "es_MX" [231]=> string(5) "es_NI" [232]=> string(5) "es_PA" [233]=> string(5) "es_PE" [234]=> string(5) "es_PH" [235]=> string(5) "es_PR" [236]=> string(5) "es_PY" [237]=> string(5) "es_SV" [238]=> string(5) "es_US" [239]=> string(5) "es_UY" [240]=> string(5) "es_VE" [241]=> string(2) "et" [242]=> string(5) "et_EE" [243]=> string(2) "eu" [244]=> string(5) "eu_ES" [245]=> string(3) "ewo" [246]=> string(6) "ewo_CM" [247]=> string(2) "fa" [248]=> string(5) "fa_AF" [249]=> string(5) "fa_IR" [250]=> string(2) "ff" [251]=> string(5) "ff_CM" [252]=> string(5) "ff_GN" [253]=> string(5) "ff_MR" [254]=> string(5) "ff_SN" [255]=> string(2) "fi" [256]=> string(5) "fi_FI" [257]=> string(3) "fil" [258]=> string(6) "fil_PH" [259]=> string(2) "fo" [260]=> string(5) "fo_FO" [261]=> string(2) "fr" [262]=> string(5) "fr_BE" [263]=> string(5) "fr_BF" [264]=> string(5) "fr_BI" [265]=> string(5) "fr_BJ" [266]=> string(5) "fr_BL" [267]=> string(5) "fr_CA" [268]=> string(5) "fr_CD" [269]=> string(5) "fr_CF" [270]=> string(5) "fr_CG" [271]=> string(5) "fr_CH" [272]=> string(5) "fr_CI" [273]=> string(5) "fr_CM" [274]=> string(5) "fr_DJ" [275]=> string(5) "fr_DZ" [276]=> string(5) "fr_FR" [277]=> string(5) "fr_GA" [278]=> string(5) "fr_GF" [279]=> string(5) "fr_GN" [280]=> string(5) "fr_GP" [281]=> string(5) "fr_GQ" [282]=> string(5) "fr_HT" [283]=> string(5) "fr_KM" [284]=> string(5) "fr_LU" [285]=> string(5) "fr_MA" [286]=> string(5) "fr_MC" [287]=> string(5) "fr_MF" [288]=> string(5) "fr_MG" [289]=> string(5) "fr_ML" [290]=> string(5) "fr_MQ" [291]=> string(5) "fr_MR" [292]=> string(5) "fr_MU" [293]=> string(5) "fr_NC" [294]=> string(5) "fr_NE" [295]=> string(5) "fr_PF" [296]=> string(5) "fr_PM" [297]=> string(5) "fr_RE" [298]=> string(5) "fr_RW" [299]=> string(5) "fr_SC" [300]=> string(5) "fr_SN" [301]=> string(5) "fr_SY" [302]=> string(5) "fr_TD" [303]=> string(5) "fr_TG" [304]=> string(5) "fr_TN" [305]=> string(5) "fr_VU" [306]=> string(5) "fr_WF" [307]=> string(5) "fr_YT" [308]=> string(3) "fur" [309]=> string(6) "fur_IT" [310]=> string(2) "fy" [311]=> string(5) "fy_NL" [312]=> string(2) "ga" [313]=> string(5) "ga_IE" [314]=> string(2) "gd" [315]=> string(5) "gd_GB" [316]=> string(2) "gl" [317]=> string(5) "gl_ES" [318]=> string(3) "gsw" [319]=> string(6) "gsw_CH" [320]=> string(6) "gsw_FR" [321]=> string(6) "gsw_LI" [322]=> string(2) "gu" [323]=> string(5) "gu_IN" [324]=> string(3) "guz" [325]=> string(6) "guz_KE" [326]=> string(2) "gv" [327]=> string(5) "gv_IM" [328]=> string(2) "ha" [329]=> string(7) "ha_Latn" [330]=> string(10) "ha_Latn_GH" [331]=> string(10) "ha_Latn_NE" [332]=> string(10) "ha_Latn_NG" [333]=> string(3) "haw" [334]=> string(6) "haw_US" [335]=> string(2) "he" [336]=> string(5) "he_IL" [337]=> string(2) "hi" [338]=> string(5) "hi_IN" [339]=> string(2) "hr" [340]=> string(5) "hr_BA" [341]=> string(5) "hr_HR" [342]=> string(3) "hsb" [343]=> string(6) "hsb_DE" [344]=> string(2) "hu" [345]=> string(5) "hu_HU" [346]=> string(2) "hy" [347]=> string(5) "hy_AM" [348]=> string(2) "id" [349]=> string(5) "id_ID" [350]=> string(2) "ig" [351]=> string(5) "ig_NG" [352]=> string(2) "ii" [353]=> string(5) "ii_CN" [354]=> string(2) "is" [355]=> string(5) "is_IS" [356]=> string(2) "it" [357]=> string(5) "it_CH" [358]=> string(5) "it_IT" [359]=> string(5) "it_SM" [360]=> string(2) "ja" [361]=> string(5) "ja_JP" [362]=> string(3) "jgo" [363]=> string(6) "jgo_CM" [364]=> string(3) "jmc" [365]=> string(6) "jmc_TZ" [366]=> string(2) "ka" [367]=> string(5) "ka_GE" [368]=> string(3) "kab" [369]=> string(6) "kab_DZ" [370]=> string(3) "kam" [371]=> string(6) "kam_KE" [372]=> string(3) "kde" [373]=> string(6) "kde_TZ" [374]=> string(3) "kea" [375]=> string(6) "kea_CV" [376]=> string(3) "khq" [377]=> string(6) "khq_ML" [378]=> string(2) "ki" [379]=> string(5) "ki_KE" [380]=> string(2) "kk" [381]=> string(7) "kk_Cyrl" [382]=> string(10) "kk_Cyrl_KZ" [383]=> string(3) "kkj" [384]=> string(6) "kkj_CM" [385]=> string(2) "kl" [386]=> string(5) "kl_GL" [387]=> string(3) "kln" [388]=> string(6) "kln_KE" [389]=> string(2) "km" [390]=> string(5) "km_KH" [391]=> string(2) "kn" [392]=> string(5) "kn_IN" [393]=> string(2) "ko" [394]=> string(5) "ko_KP" [395]=> string(5) "ko_KR" [396]=> string(3) "kok" [397]=> string(6) "kok_IN" [398]=> string(2) "ks" [399]=> string(7) "ks_Arab" [400]=> string(10) "ks_Arab_IN" [401]=> string(3) "ksb" [402]=> string(6) "ksb_TZ" [403]=> string(3) "ksf" [404]=> string(6) "ksf_CM" [405]=> string(3) "ksh" [406]=> string(6) "ksh_DE" [407]=> string(2) "kw" [408]=> string(5) "kw_GB" [409]=> string(2) "ky" [410]=> string(7) "ky_Cyrl" [411]=> string(10) "ky_Cyrl_KG" [412]=> string(3) "lag" [413]=> string(6) "lag_TZ" [414]=> string(2) "lb" [415]=> string(5) "lb_LU" [416]=> string(2) "lg" [417]=> string(5) "lg_UG" [418]=> string(3) "lkt" [419]=> string(6) "lkt_US" [420]=> string(2) "ln" [421]=> string(5) "ln_AO" [422]=> string(5) "ln_CD" [423]=> string(5) "ln_CF" [424]=> string(5) "ln_CG" [425]=> string(2) "lo" [426]=> string(5) "lo_LA" [427]=> string(2) "lt" [428]=> string(5) "lt_LT" [429]=> string(2) "lu" [430]=> string(5) "lu_CD" [431]=> string(3) "luo" [432]=> string(6) "luo_KE" [433]=> string(3) "luy" [434]=> string(6) "luy_KE" [435]=> string(2) "lv" [436]=> string(5) "lv_LV" [437]=> string(3) "mas" [438]=> string(6) "mas_KE" [439]=> string(6) "mas_TZ" [440]=> string(3) "mer" [441]=> string(6) "mer_KE" [442]=> string(3) "mfe" [443]=> string(6) "mfe_MU" [444]=> string(2) "mg" [445]=> string(5) "mg_MG" [446]=> string(3) "mgh" [447]=> string(6) "mgh_MZ" [448]=> string(3) "mgo" [449]=> string(6) "mgo_CM" [450]=> string(2) "mk" [451]=> string(5) "mk_MK" [452]=> string(2) "ml" [453]=> string(5) "ml_IN" [454]=> string(2) "mn" [455]=> string(7) "mn_Cyrl" [456]=> string(10) "mn_Cyrl_MN" [457]=> string(2) "mr" [458]=> string(5) "mr_IN" [459]=> string(2) "ms" [460]=> string(7) "ms_Latn" [461]=> string(10) "ms_Latn_BN" [462]=> string(10) "ms_Latn_MY" [463]=> string(10) "ms_Latn_SG" [464]=> string(2) "mt" [465]=> string(5) "mt_MT" [466]=> string(3) "mua" [467]=> string(6) "mua_CM" [468]=> string(2) "my" [469]=> string(5) "my_MM" [470]=> string(3) "naq" [471]=> string(6) "naq_NA" [472]=> string(2) "nb" [473]=> string(5) "nb_NO" [474]=> string(5) "nb_SJ" [475]=> string(2) "nd" [476]=> string(5) "nd_ZW" [477]=> string(2) "ne" [478]=> string(5) "ne_IN" [479]=> string(5) "ne_NP" [480]=> string(2) "nl" [481]=> string(5) "nl_AW" [482]=> string(5) "nl_BE" [483]=> string(5) "nl_BQ" [484]=> string(5) "nl_CW" [485]=> string(5) "nl_NL" [486]=> string(5) "nl_SR" [487]=> string(5) "nl_SX" [488]=> string(3) "nmg" [489]=> string(6) "nmg_CM" [490]=> string(2) "nn" [491]=> string(5) "nn_NO" [492]=> string(3) "nnh" [493]=> string(6) "nnh_CM" [494]=> string(3) "nus" [495]=> string(6) "nus_SD" [496]=> string(3) "nyn" [497]=> string(6) "nyn_UG" [498]=> string(2) "om" [499]=> string(5) "om_ET" [500]=> string(5) "om_KE" [501]=> string(2) "or" [502]=> string(5) "or_IN" [503]=> string(2) "os" [504]=> string(5) "os_GE" [505]=> string(5) "os_RU" [506]=> string(2) "pa" [507]=> string(7) "pa_Arab" [508]=> string(10) "pa_Arab_PK" [509]=> string(7) "pa_Guru" [510]=> string(10) "pa_Guru_IN" [511]=> string(2) "pl" [512]=> string(5) "pl_PL" [513]=> string(2) "ps" [514]=> string(5) "ps_AF" [515]=> string(2) "pt" [516]=> string(5) "pt_AO" [517]=> string(5) "pt_BR" [518]=> string(5) "pt_CV" [519]=> string(5) "pt_GW" [520]=> string(5) "pt_MO" [521]=> string(5) "pt_MZ" [522]=> string(5) "pt_PT" [523]=> string(5) "pt_ST" [524]=> string(5) "pt_TL" [525]=> string(2) "qu" [526]=> string(5) "qu_BO" [527]=> string(5) "qu_EC" [528]=> string(5) "qu_PE" [529]=> string(2) "rm" [530]=> string(5) "rm_CH" [531]=> string(2) "rn" [532]=> string(5) "rn_BI" [533]=> string(2) "ro" [534]=> string(5) "ro_MD" [535]=> string(5) "ro_RO" [536]=> string(3) "rof" [537]=> string(6) "rof_TZ" [538]=> string(2) "ru" [539]=> string(5) "ru_BY" [540]=> string(5) "ru_KG" [541]=> string(5) "ru_KZ" [542]=> string(5) "ru_MD" [543]=> string(5) "ru_RU" [544]=> string(5) "ru_UA" [545]=> string(2) "rw" [546]=> string(5) "rw_RW" [547]=> string(3) "rwk" [548]=> string(6) "rwk_TZ" [549]=> string(3) "sah" [550]=> string(6) "sah_RU" [551]=> string(3) "saq" [552]=> string(6) "saq_KE" [553]=> string(3) "sbp" [554]=> string(6) "sbp_TZ" [555]=> string(2) "se" [556]=> string(5) "se_FI" [557]=> string(5) "se_NO" [558]=> string(5) "se_SE" [559]=> string(3) "seh" [560]=> string(6) "seh_MZ" [561]=> string(3) "ses" [562]=> string(6) "ses_ML" [563]=> string(2) "sg" [564]=> string(5) "sg_CF" [565]=> string(3) "shi" [566]=> string(8) "shi_Latn" [567]=> string(11) "shi_Latn_MA" [568]=> string(8) "shi_Tfng" [569]=> string(11) "shi_Tfng_MA" [570]=> string(2) "si" [571]=> string(5) "si_LK" [572]=> string(2) "sk" [573]=> string(5) "sk_SK" [574]=> string(2) "sl" [575]=> string(5) "sl_SI" [576]=> string(3) "smn" [577]=> string(6) "smn_FI" [578]=> string(2) "sn" [579]=> string(5) "sn_ZW" [580]=> string(2) "so" [581]=> string(5) "so_DJ" [582]=> string(5) "so_ET" [583]=> string(5) "so_KE" [584]=> string(5) "so_SO" [585]=> string(2) "sq" [586]=> string(5) "sq_AL" [587]=> string(5) "sq_MK" [588]=> string(5) "sq_XK" [589]=> string(2) "sr" [590]=> string(7) "sr_Cyrl" [591]=> string(10) "sr_Cyrl_BA" [592]=> string(10) "sr_Cyrl_ME" [593]=> string(10) "sr_Cyrl_RS" [594]=> string(10) "sr_Cyrl_XK" [595]=> string(7) "sr_Latn" [596]=> string(10) "sr_Latn_BA" [597]=> string(10) "sr_Latn_ME" [598]=> string(10) "sr_Latn_RS" [599]=> string(10) "sr_Latn_XK" [600]=> string(2) "sv" [601]=> string(5) "sv_AX" [602]=> string(5) "sv_FI" [603]=> string(5) "sv_SE" [604]=> string(2) "sw" [605]=> string(5) "sw_CD" [606]=> string(5) "sw_KE" [607]=> string(5) "sw_TZ" [608]=> string(5) "sw_UG" [609]=> string(2) "ta" [610]=> string(5) "ta_IN" [611]=> string(5) "ta_LK" [612]=> string(5) "ta_MY" [613]=> string(5) "ta_SG" [614]=> string(2) "te" [615]=> string(5) "te_IN" [616]=> string(3) "teo" [617]=> string(6) "teo_KE" [618]=> string(6) "teo_UG" [619]=> string(2) "th" [620]=> string(5) "th_TH" [621]=> string(2) "ti" [622]=> string(5) "ti_ER" [623]=> string(5) "ti_ET" [624]=> string(2) "to" [625]=> string(5) "to_TO" [626]=> string(2) "tr" [627]=> string(5) "tr_CY" [628]=> string(5) "tr_TR" [629]=> string(3) "twq" [630]=> string(6) "twq_NE" [631]=> string(3) "tzm" [632]=> string(8) "tzm_Latn" [633]=> string(11) "tzm_Latn_MA" [634]=> string(2) "ug" [635]=> string(7) "ug_Arab" [636]=> string(10) "ug_Arab_CN" [637]=> string(2) "uk" [638]=> string(5) "uk_UA" [639]=> string(2) "ur" [640]=> string(5) "ur_IN" [641]=> string(5) "ur_PK" [642]=> string(2) "uz" [643]=> string(7) "uz_Arab" [644]=> string(10) "uz_Arab_AF" [645]=> string(7) "uz_Cyrl" [646]=> string(10) "uz_Cyrl_UZ" [647]=> string(7) "uz_Latn" [648]=> string(10) "uz_Latn_UZ" [649]=> string(3) "vai" [650]=> string(8) "vai_Latn" [651]=> string(11) "vai_Latn_LR" [652]=> string(8) "vai_Vaii" [653]=> string(11) "vai_Vaii_LR" [654]=> string(2) "vi" [655]=> string(5) "vi_VN" [656]=> string(3) "vun" [657]=> string(6) "vun_TZ" [658]=> string(3) "wae" [659]=> string(6) "wae_CH" [660]=> string(3) "xog" [661]=> string(6) "xog_UG" [662]=> string(3) "yav" [663]=> string(6) "yav_CM" [664]=> string(2) "yi" [665]=> string(6) "yi_001" [666]=> string(2) "yo" [667]=> string(5) "yo_BJ" [668]=> string(5) "yo_NG" [669]=> string(3) "zgh" [670]=> string(6) "zgh_MA" [671]=> string(2) "zh" [672]=> string(7) "zh_Hans" [673]=> string(10) "zh_Hans_CN" [674]=> string(10) "zh_Hans_HK" [675]=> string(10) "zh_Hans_MO" [676]=> string(10) "zh_Hans_SG" [677]=> string(7) "zh_Hant" [678]=> string(10) "zh_Hant_HK" [679]=> string(10) "zh_Hant_MO" [680]=> string(10) "zh_Hant_TW" [681]=> string(2) "zu" [682]=> string(5) "zu_ZA" }
Avatar billede acore Ekspert
12. februar 2018 - 13:55 #23
Ja, men 89 er "da_DK". Så den streng burde virke med setlocale(), altså:

setlocale(LC_ALL,"da_DK");
echo date("d F Y H:i:s", strtotime($row["mindato"]));
Avatar billede larsen45 Juniormester
12. februar 2018 - 14:02 #24
Har lige testet:
setlocale(LC_ALL,"da_DK");
echo date("d F Y H:i:s", strtotime($row["mindato"]));

Den giver resultatet:
11 February 2018 21:05:58

Jeg har også nu prøvet og smide følgende ind i en htaccess fil og lægge i roden, men det hjalp heller ikke.
SetEnv TZ Europe/Copenhagen

Jeg kan umuligt være den eneste som har det problem.
Avatar billede acore Ekspert
12. februar 2018 - 14:49 #25
Det kan jeg ikke lige forklare, men løsningen er #10, vil jeg mene.
Avatar billede erikjacobsen Ekspert
12. februar 2018 - 17:03 #26
Du skal ikke bruge date() funktionen. Som der står på manualsiden om date:  To format dates in other languages, you should use the setlocale() and strftime() functions instead of date().

Brug kun strftime - og hvad sker der så?
Avatar billede larsen45 Juniormester
12. februar 2018 - 17:31 #27
Tak erikjacobsen

Efter en masse bøvl med dette, gik jeg over i strtotime løsningen, og forsøgte mig frem, og den eneste måde jeg fik det til at fungere på var med array hvor jeg listede alle månederne op januar, februar m.v. og så med dette her.
$format = date("n", strtotime("-1 month", strtotime($row["mindato"])));

Jeg kunne læse mig til der ikke findes nogen php real løsning på problemet nogen steder, så gad da nok vide hvordan andre håndtere deres datoer fra deres database tabeller.
Avatar billede erikjacobsen Ekspert
12. februar 2018 - 17:48 #28
Det er op til dig, men alt hvad du har skrevet tyder da på at du uden videre kan bruge strftime.

I #17 og #7 giver

setlocale(LC_ALL,'da_DK.ISO8859-1');
echo strftime('%A - %B');

mandag og februar - på dansk. Forvirringen er vel min skyld, for jeg lagde slet ikke mærke til at du brugte date(...) i #3.
Avatar billede acore Ekspert
12. februar 2018 - 18:00 #29
Enig med Erik - vi mangler kun at se hvad

setlocale(LC_ALL,"da_DK");
echo strftime("d F Y H:i:s", strtotime($row["mindato"]));

giver
Avatar billede erikjacobsen Ekspert
12. februar 2018 - 18:03 #30
Som anført i #1 bruger strftime en anden formatstring - formatet altså:  "%e. %B %Y %H:%M:%S"
Avatar billede acore Ekspert
12. februar 2018 - 18:13 #31
@Erik: Godt at DU er vågen - tak
Avatar billede larsen45 Juniormester
12. februar 2018 - 18:26 #32
Ja lad os dog lige opsumere.
test1
<?PHP
setlocale(LC_ALL,"da_DK");
echo strftime('%A - %B');
?>
Resultat: mandag - februar

test2
<?PHP
setlocale(LC_ALL,'da_DK.ISO8859-1');
echo strftime('%A - %B');
?>
Resultat: mandag - februar

test3
<?PHP
setlocale(LC_ALL,"da_DK");
echo strftime("d F Y H:i:s", strtotime($row["mindato"]));
?>
Resultat: d F Y H:i:s

Almindelig hjemmeside dansk.
phpmyadmin database engelsk.
Avatar billede erikjacobsen Ekspert
12. februar 2018 - 18:38 #33
Formatet til strftime skal være "%e. %B %Y %H:%M:%S" som anført i #1 for 8 timer siden.
Avatar billede larsen45 Juniormester
12. februar 2018 - 20:45 #34
Jeg siger tak for hjælpen til jer alle sammen.
Avatar billede erikjacobsen Ekspert
12. februar 2018 - 20:52 #35
Nu ved jeg ikke hvordan du har det med at spilde din tid. Jeg har det vældig morsomt imens - jeg kan lave andre ting, og gå tilbage og kigge hvad der er sket i spørgsmålet.  Men hvis du en anden dag vil have noget lavet, til tiden, så

1) Læs hvad der står, og gør først det, for at se om det virker.
2) Så kan du eventuelt være eksperimenterende bagefter, for at se om der er andre måder.
3) Og vær omhyggelig; Det tal du anfører, 151838315811, er ikke en unix timestamp til noget i 2018, udskrevet fra databasen. Den ligger snarere 5000 år ud i fremtiden, fordi du sikkert har kopieret en udsktift fra næste linie i PHP-scriptet, hvor der har stået "11". 1518383158 passer meget bedre med et tidspunkt i gå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
Vi tilbyder markedets bedste kurser inden for webudvikling

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