Loading...
ElenaSei avatar ElenaSei 11 Точки

Проблем с DateTime в NetBeans

Здравейте,

по някаква причина не мога да използвам класа DateTime. Дава ми ето тази грешка:

Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.' in /Users/Valentin/NetBeansProjects/02SimpleCalculations/13.1000DaysAfterBirth:3

Някакви предположения как мога да го оправя?

Тагове:
0
PHP Basics
Thedi avatar Thedi 200 Точки
Best Answer

Здравей,

Пробвай да сложиш най отгоре в файла ти (Разбира се след <?php) следното нещо:
 

date_default_timezone_set('Europe/Sofia');

Това ще промени default timezone на PHP конфигурацията защото най вероятно нямаш настроена такава.
Ако все още ти дава грешка пробвай да решиш задачата със следният код:
 

<?php
$inputDate = readline();
$date = date_create_from_format('d-m-Y', $inputDate);
$date->modify("+999 days");
$out = $date->format('d-m-Y');
echo $out;


Като тук в метода date_creat_from_format трябва да му дадеш какъв формат ще е датата която ти въвеждат. В случая това ще работи с "15-1-2018"

 

Ако първият пример работи е хубаво да идеш в php.ini и да намериш редът който пише "date.timezone" и да го промениш на date.timezone = "Europe/Sofia" за да нямаш проблеми във бъдеще.

За да намериш къде се нимира php.ini файла можеш да използваш следния код:

<?php
echo php_ini_loaded_file();

Като го пуснеш ще ти даде пътя където е файлът.

0
15/01/2018 14:20:25
ElenaSei avatar ElenaSei 11 Точки

Thedi, благодаря много! date_default_timezone_set оправи проблема. Не мога да кажа същото за php.ini файла, но съм доволна, че все пак най-накрая се откри решение на проблема ми.

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

php.ini файла трябва да е в хамп папката където си инсталира хамп.Другия по лесен начин които се сещам да го намериш е като пуснеш хамп gui. нали имаш бутони в ляво там имаш един configure и от него директно може да си отвориш php,ini файла и да видиш директорията му и тн. да пипаш разни неща.И нещо друго което се сетих не е лошо ти и всички да си пуснете да виждате формата/пълното име на файла в  повечето оперативни системи това е скрито.

0
17/01/2018 11:04:34
ElenaSei avatar ElenaSei 11 Точки

Виждам формата на файловете и виждам, че имам php.ini.default и още няколко такива, но не и php.ini. Изчетох всички форуми, но очевидно не мога да се справя с този проблем, така че го зарязвам. crying Благодаря за желанието и за помощта все пак :)

0
Vesela_5 avatar Vesela_5 40 Точки

Струва ми се, че това няма нищо общо с NetBeans, а с настройките на часовата ти зона в компютъра. Защо не пробваш от настройките на дата и час в контролния панел да избереш опция "Set time zone automatically". Принципно в България сме на (UTC +2:00).

0
ElenaSei avatar ElenaSei 11 Точки

И аз това си помислих, но си е automatically. Интересното е, че изписвайки DateTime ми излиза PHPDoc not found.

0
Vesela_5 avatar Vesela_5 40 Точки

Може ли да копираш целия код, за да го тествам?

0
ElenaSei avatar ElenaSei 11 Точки

<?php

$inputDate = readline();
$d = new DateTime($inputDate);
$d->modify("+999 days");
$out = $d->format('d-m-Y');
echo $out;

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

не е форматирана времевата зона формата на времето и затова реве.сега аз програмирам на с# и непознавам особеностите на php толкова.но тук не е заредена библиотеката за време или поне не е оказан формата на времето и затова реве.

0
Vesela_5 avatar Vesela_5 40 Точки

Може ли да направиш скрийншот какво пише в този документ:

С:\xampp\php\scripts\date_class_exceptions.php

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.