diff --git a/stix2/v20/common.py b/stix2/v20/common.py
index c66b8f6..d574c92 100644
--- a/stix2/v20/common.py
+++ b/stix2/v20/common.py
@@ -1,6 +1,7 @@
 """STIX 2 Common Data Types and Properties."""
 
 from collections import OrderedDict
+import copy
 
 from ..base import _cls_init, _STIXBase
 from ..markings import _MarkingsMixin
@@ -124,6 +125,13 @@ class MarkingDefinition(_STIXBase, _MarkingsMixin):
             except KeyError:
                 raise ValueError("definition_type must be a valid marking type")
 
+            if marking_type == TLPMarking:
+                # TLP instances in the spec have millisecond precision unlike other markings
+                self._properties = copy.deepcopy(self._properties)
+                self._properties.update([
+                    ('created', TimestampProperty(default=lambda: NOW, precision='millisecond')),
+                ])
+
             if not isinstance(kwargs['definition'], marking_type):
                 defn = _get_dict(kwargs['definition'])
                 kwargs['definition'] = marking_type(**defn)

diff --git a/stix2/test/test_markings.py b/stix2/test/test_markings.py
index ec8b664..49803f3 100644
--- a/stix2/test/test_markings.py
+++ b/stix2/test/test_markings.py
@@ -11,7 +11,7 @@ from .constants import MARKING_DEFINITION_ID
 EXPECTED_TLP_MARKING_DEFINITION = """{
     "type": "marking-definition",
     "id": "marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9",
-    "created": "2017-01-20T00:00:00Z",
+    "created": "2017-01-20T00:00:00.000Z",
     "definition_type": "tlp",
     "definition": {
         "tlp": "white"

The instance of MarkingDefinition cannot pass validation because the 'created' property does't have millisecond.
Here is the screenshot:
![marking](https://user-images.githubusercontent.com/5939857/47416920-56c50f00-d7a9-11e8-87a7-aa9b1f82cdb7.PNG)

Source code:
![marking_class](https://user-images.githubusercontent.com/5939857/47417251-2af65900-d7aa-11e8-8914-5b1f0312bbb3.PNG)

Does the 'created' property should be
![property](https://user-images.githubusercontent.com/5939857/47417384-73ae1200-d7aa-11e8-86b3-7960130ca96f.PNG)
to pass validation?

stix2/test/test_markings.py::test_marking_def_example_with_tlp
stix2/test/test_markings.py::test_marking_def_example_with_statement_positional_argument stix2/test/test_markings.py::test_marking_def_example_with_kwargs_statement stix2/test/test_markings.py::test_marking_def_invalid_type stix2/test/test_markings.py::test_campaign_with_markings_example stix2/test/test_markings.py::test_granular_example stix2/test/test_markings.py::test_granular_example_with_bad_selector stix2/test/test_markings.py::test_campaign_with_granular_markings_example stix2/test/test_markings.py::test_parse_marking_definition[{\n stix2/test/test_markings.py::test_parse_marking_definition[data1] stix2/test/test_markings.py::test_registered_custom_marking stix2/test/test_markings.py::test_registered_custom_marking_raises_exception stix2/test/test_markings.py::test_not_registered_marking_raises_exception stix2/test/test_markings.py::test_marking_wrong_type_construction stix2/test/test_markings.py::test_campaign_add_markings