Difference between revisions of "Template:SetDatePropertyValueFromDateString"

From Encyclopedia of Scientonomy
Jump to navigation Jump to search
(Created page with "<noinclude> This template takes a date string in <code><nowiki>yyyy/mm/dd</nowiki></code> format and stores it as a complex date property value using Template:SetDatePropert...")
 
Line 21: Line 21:
 
   --><!--
 
   --><!--
 
   --><!-- check if BC this is a BC year
 
   --><!-- check if BC this is a BC year
   -->|{{#vardefine: varSlash1|{{#pos:{{{datestring|}}}|&#47;}}|}}<!-- search for the first occurrence of slash
+
   -->|{{#vardefine: varSlash1|{{#pos:{{{datestring|}}}|/}}|}}<!-- search for the first occurrence of slash
 
     -->{{#if: {{#var: varSlash1}}<!--
 
     -->{{#if: {{#var: varSlash1}}<!--
 
     -->|{{#vardefine: varYear|{{#sub:{{{datestring|}}}|0|{{#expr: {{#var: varSlash1}}-1}} }}|}}<!-- extract the year  
 
     -->|{{#vardefine: varYear|{{#sub:{{{datestring|}}}|0|{{#expr: {{#var: varSlash1}}-1}} }}|}}<!-- extract the year  
       -->{{#vardefine: varSlash2|{{#pos:{{{datestring|}}}|&#47;|{{#expr: {{#var: varSlash1}}+1}} }}|}}<!-- search for the next occurrence of slash
+
       -->{{#vardefine: varSlash2|{{#pos:{{{datestring|}}}|/|{{#expr: {{#var: varSlash1}}+1}} }}|}}<!-- search for the next occurrence of slash
 
       -->{{#if: {{#var: varSlash2}}<!--
 
       -->{{#if: {{#var: varSlash2}}<!--
 
       -->|{{#vardefine: varMonth|{{#sub:{{{datestring|}}}|{{#expr: {{#var: varSlash1}}+1}}|{{#expr: {{#var: varSlash2}}-{{#var: varSlash1}}-1}}}}|}}<!-- extract the month
 
       -->|{{#vardefine: varMonth|{{#sub:{{{datestring|}}}|{{#expr: {{#var: varSlash1}}+1}}|{{#expr: {{#var: varSlash2}}-{{#var: varSlash1}}-1}}}}|}}<!-- extract the month

Revision as of 09:36, 24 August 2016

This template takes a date string in yyyy/mm/dd format and stores it as a complex date property value using Template:SetDatePropertyValue. This whole headache is necessary to support incomplete date values with BC support.

The template will store up to four values:

  • {{{property|}}} - the combined date.
  • {{{property|}}} Year - the year part.
  • {{{property|}}} Month - the month part.
  • {{{property|}}} Day - the day part.

NOTE: As any "set" template, it doesn't print anything on the page, but merely sets the appropriate values.

Parameters:

  • |property= - the name of the property.
  • |datestring= - the date value in yyyy/mm/dd format. The month and day are optional. YYYY BC and YYYY BCE formats are allowed for BC years.