Для меня работал следующий код. Этот код будет печатать дату в формате DD-MM-YYYY.
DateValue=DateValue.substring(6,8)+"-"+DateValue.substring(4,6)+"-"+DateValue.substring(0,4);
else, вы также можете использовать:
DateValue=DateValue.substring(0,4)+"-"+DateValue.substring(4,6)+"-"+DateValue.substring(6,8);
Вопрос имеет некоторые тонкие аспекты, но простой ответ «нет» (для компилятора, который понимает обе формы).
Компиляторы обычно работают в нескольких фазах. Когда дело доходит до оптимизации, компилятор не смотрит на строку источника и не определяет, что с ней делать.
Ранняя фаза компиляции - это лексическая фаза. Это берет исходный код и определяет, какие токены существуют. Рассмотрим источники
do 77 i=1, 5
x(i) = 1.0
77 continue
, которые находятся в свободной форме, и
do77i=1,5
x(i)=1.0
77continue
, который находится в фиксированной форме, и
do 77 i=1,5
x(i) = 1.0
77 continue
, который
После лексической фазы внутреннее представление, которое имеет компилятор, совпадает (по крайней мере, точно такой же набор токенов определяется). То, что происходит дальше, не зависит от предварительно лексического источника.
Усложнение - это то, что люди часто считают, что свободная форма означает
x(1:5) = 1.0
, потому что это Fortran 90+ способ записи то же назначение.
Это можно было бы записать в фиксированной форме
x(1:5) = 1.0
, а токены снова совпадают. Теперь могут быть различия в том, как компилятор рассматривает два подхода, но исходная форма не является ключом.